import random, math, numpy as np, matplotlib.pyplot as plt, pycountry, awoc, pandas as pd
from collections import Counter
import networkx as nx
from networkx.algorithms import bipartite
from networkx.algorithms import community
import community as louvain
import pygraphviz
from networkx.drawing.nx_agraph import graphviz_layout
from networkx.drawing.nx_agraph import to_agraph
import bokeh
from bokeh.io import push_notebook, show, output_notebook, save
import bokeh.plotting as bp
from bokeh.plotting import figure, save, output_file, show #, from_networkx
from bokeh.models import (ColumnDataSource, LabelSet, Label, BoxSelectTool, Circle, EdgesAndLinkedNodes, HoverTool,MultiLine, NodesAndLinkedEdges, Plot, Range1d, TapTool,)
from holoviews.element.graphs import layout_nodes
# bokeh.sampledata.download()
from bokeh.sampledata.airport_routes import routes, airports
output_notebook()
import holoviews as hv
from holoviews import dim, opts
hv.extension('bokeh', 'matplotlib')
from holoviews.operation import gridmatrix
from holoviews.operation.datashader import datashade, bundle_graph
from holoviews import Graph, Nodes
from holoviews.plotting.bokeh import GraphPlot, LabelsPlot
import hvplot.networkx as hvnx
import hvplot.pandas
title="USA Flights Graph"
routes=hv.Dataset(routes,'Airline',["Source","Destination"])
routes_df = hv.Graph(routes, ['Source', "Destination"], 'Airline', label=title).data
print(len(routes_df),list(routes_df.columns))
routes_df=routes_df[["Airline","Source","Destination"]]
routes_df
10507 ['Airline', 'AirlineID', 'Source', 'SourceID', 'Destination', 'DestinationID', 'Codeshare', 'Stops', 'Equipment']
| Airline | Source | Destination | |
|---|---|---|---|
| 0 | 2O | ADQ | KLN |
| 1 | 2O | KLN | KYK |
| 2 | 3E | BRL | ORD |
| 3 | 3E | BRL | STL |
| 4 | 3E | DEC | ORD |
| ... | ... | ... | ... |
| 10502 | ZK | SHR | DEN |
| 10503 | ZK | SOW | FMN |
| 10504 | ZK | SOW | PHX |
| 10505 | ZK | VIS | LAX |
| 10506 | ZK | WRL | CYS |
10507 rows × 3 columns
acodes_df=pd.read_csv("aircodes2.csv")
acodes_d=dict(zip(acodes_df.Code, acodes_df.Airline))
# acodes_d
acodes_i_d={v:k for k,v in acodes_d.items()}
acodes_i_d
{'1Time Airline': '1T',
'40-Mile Air': 'Q5',
'Ansett Australia': 'AN',
'Abacus International': '1B',
'Eastwind Airlines': 'W9',
'Aigle Azur': 'ZI',
'Aloha Airlines': 'AQ',
'American Airlines': 'AA',
'Ozark Air Lines': 'OZ',
'Askari Aviation': '4K',
'Afriqiyah Airways': '8U',
'Arik Niger': 'Q9',
'Allegiant Air': 'G4',
'SeaPort Airlines': 'K5',
'North Flying': 'M3',
'Antrak Air': '4',
'BRAZIL AIR': 'GB',
'Wright Air Service': '8V',
'Elysian Airlines': 'E4',
'Yeti Airways': 'YT',
'Gazpromavia': '4G',
'Aztec Worldwide Airlines': '7A',
'Air Tindi': '8T',
'Ada Air': 'ZY',
'REDjet': 'Z7',
'Adria Airways': 'JP',
'Air Europa': 'UX',
'Empire Airlines': 'EM',
'Aegean Airlines': 'A3',
'Adam Air': 'KI',
'Air Europe': 'PE',
'Alaska Central Express': 'KO',
'Astraeus': '5W',
'Aerosvit Airlines': 'VV',
'Indigo': 'I9',
'Edelweiss Air': 'WK',
'Reno Air': 'QQ',
'Ariana Afghan Airlines': 'FG',
'Aeroflot Russian Airlines': 'SU',
'B&H Airlines': 'JA',
'Air France': 'AF',
'Air Caledonie International': 'SB',
'GNB Linhas Aereas': 'GN',
'Air Salone': '20',
'Air Cargo Carriers': '2Q',
'VOLOTEA Airways': 'V7',
'Air Namibia': 'SW',
'Gujarat Airways': 'G8',
'DonbassAero': '5D',
'Amadeus Global Travel Distribution': '1A',
'Tobruk Air': '7T',
'Airstars': 'PL',
'Atlas Blue': '8A',
'GoDutch': 'GD',
'Linea Turistica Aerotuy': 'LD',
'Hellenic Imperial Airways': 'HT',
'Azerbaijan Airlines': 'J2',
'Avies': 'U3',
'Air One': 'AP',
'Alpine Air Express': '5A',
'Airblue': 'ED',
'Air Berlin': 'AB',
'All America US': 'AG',
'Air India Limited': 'AI',
'Monarch Airlines': 'ZB',
'Macair Airlines': 'CC',
'Syrian Arab Airlines': 'RB',
'Air Tahiti Nui': 'TN',
'AeroWorld ': 'W4',
'Arkia Israel Airlines': 'IZ',
'Air Jamaica': 'JM',
'Air Sahara': 'S2',
'Air Malta': 'KM',
'Amerijet International': 'M6',
'Air Japan': 'NQ',
'Air Kiribati': '4A',
'Euro Harmony': 'EH',
'Phoenix Airways': 'HP',
'Air Wisconsin': 'ZW',
'Tatarstan Airlines': 'U9',
'SwedJet Airways': 'VD',
'Tiger Airways Australia': 'TT',
'Air Malawi': 'QM',
'Bayu Indonesia Air': 'BM',
'Air Macau': 'NX',
'V Air': 'ZV',
'Air Seychelles': 'HM',
'AeroMéxico': 'AM',
'All Nippon Airways': 'NH',
'Air Nostrum': 'YW',
'Air Niugini': 'PX',
'Air Arabia': 'G9',
'Air Canada': 'AC',
'Air Baltic': 'BT',
'Air Nippon': 'EL',
'Trans Mediterranean Airlines': 'TL',
'Air North Charter - Canada': '4N',
'Wings Air': 'IW',
'Air New Zealand': 'NZ',
'AVCOM': 'J6',
'Aero VIP (2D)': '2D',
'Via Conectia Airlines': '6V',
'Alitalia Express': 'XM',
'WestAir Airlines ': 'OE',
'Aero Flight': 'GV',
'Arrow Air': 'JW',
'World Scale Airlines': 'W3',
'Aerocondor': '2B',
'Aires': '4C',
'Aerolineas Argentinas': 'AR',
'Royal': 'QN',
'Alaska Airlines': 'AS',
'Air Sinai': '4D',
'Atlantic Southeast Airlines': 'EV',
'Astrakhan Airlines': 'OB',
'Air Tanzania': 'TC',
'Air Burkina': '2J',
'Himalayan Airlines': 'HC',
'Airlines Of Tasmania': 'FO',
'Air Saint Pierre': 'PJ',
'Shanxi Airlines': '8C',
'Austrian Airlines': 'OS',
'Augsburg Airways': 'IQ',
'Rainbow Air Euro': 'RU',
'Calm Air': 'MO',
'Aeroflot-Nord': '5N',
'Gemini Air Cargo': 'GR',
'North Pacific Airlines': 'NO',
'Austral Lineas Aereas': 'AU',
'Avianova (Russia)': 'AO',
'Avianca - Aerovias Nacionales de Colombia': 'AV',
'Air Vanuatu': 'NF',
'Zambia Skyways': 'K8',
'Air Bangladesh': 'B9',
'Air Mediterranee': 'DR',
'Aeroline GmbH': '7E',
'Air Wales': '6G',
'Air Caraïbes': 'TX',
'Air India Express': 'IX',
'Asian Express Airlines': 'HJ',
'Air Exel': 'XT',
'AirAsia': 'AK',
'Atlant-Soyuz Airlines': '3G',
'Alitalia': 'AZ',
'Eastar Jet': 'ZE',
'Amaszonas': 'Z8',
'Air Zimbabwe': 'UM',
'Aserca Airlines': 'R7',
'Rossiya-Russian Airlines': 'FV',
'Rainbow Air Polynesia': 'RX',
'American Eagle Airlines': 'MQ',
'Fly France': 'FF',
'Maldivo Airlines': 'ML',
'Air Ivoire': 'VU',
'Air Botswana': 'BP',
'Grant Aviation': 'GS',
'Air Tahiti': 'VT',
'Air Urga': '3N',
'Air VIA': 'VL',
'Africa West': 'FK',
'Avirex': 'G2',
'ATRAN Cargo Airlines': 'V8',
'Volare Airlines': 'VE',
'Danube Wings (V5)': 'V5',
'Air China': 'CA',
'Aero Condor Peru': 'Q6',
'Arctic Circle Air Service': '5F',
'Camair-co': 'QC',
'Naka Nihon Airlines Service': 'NV',
'Cargolux': 'CV',
'Air Marshall Islands': 'CW',
'Interavia Airlines': 'ZA',
'Air Algerie': 'AH',
'Fly Europa': 'ER',
'Juneyao Airlines': 'HO',
'Air Dolomiti': 'EN',
'Aeroflot-Don': 'D9',
'Mount Cook Airlines': 'NM',
'Nordica': 'EE',
'Air City': '4F',
'Aer Lingus': 'EI',
'City Airways': 'E8',
'KSY': 'KY',
'Pegasus Airlines': 'PC',
'Transports et Travaux A': 'OF',
'Air Pacific': 'FJ',
'Atlantic Airways': 'RC',
'Kyrgyzstan': 'QH',
'Air Iceland': 'NY',
'Air Philippines': '2P',
'Japan Regio': 'ZX',
'Air Guinee Express': '2U',
'Amber Air': '0A',
'Dana Air': 'DA',
'Miami Air International': 'GL',
'Allegro': 'LL',
'Atlas Air': '5Y',
'Cargo 360': 'GG',
'PEGASUS AIRLINES-': 'H9',
'Island Spirit': 'IP',
'Air Canada Jazz': 'QK',
'Atlasjet': 'KK',
'Air Koryo': 'JS',
'Air Astana': 'KC',
'Albanian Airlines': 'LV',
'Alidaunia': 'D4',
'Air India Regional': 'CD',
'Aerolane': 'XL',
'Air Alps Aviation (A6)': 'A6',
'Tulip Air': 'TD',
'Line Blue': 'L8',
'Air Luxor': 'LK',
'Air Mauritius': 'MK',
'Air Madagascar': 'MD',
'Air Moldova': '9U',
'Aero Mongolia': 'M0',
'Air Plus Comet': 'A7',
'Origin Pacific Airways': 'QO',
'Homer Air': 'MR',
'Air Antilles Express': '3S',
'Servant Air': '8D',
'International Flying Service': 'F4',
'Aero Contractors': 'AJ',
'China Postal Airlines': '8Y',
'Aeropelican Air Services': 'OT',
'Azul': 'AD',
'Dobrolet': 'QD',
'Travel Service': 'QS',
'Airbus France': '4Y',
'Air Mobility Command': 'MC',
'Aer Arann': 'RE',
'Air Austral': 'UU',
'Asian Spirit': '6K',
'Royal Khmer Airlines': 'RK',
'Airlinair': 'A5',
'Aero Lanka': 'QL',
'Armenian International Airways': 'MV',
'Armavia': 'U8',
'Aeromar': 'VW',
'AeroRep': 'P5',
'Bluebird Cargo': 'BF',
'Aerosur': '5L',
'Europe Jet': 'EX',
'Joy Air': 'JR',
'Avient Aviation': 'Z3',
'German International Air Lines': 'GM',
'Aircompany Yakutia': 'R3',
'Aereonautica militare': 'JY',
'Arkefly': 'OR',
'Airlines PNG': 'CG',
'Iberworld': 'TY',
'AirTran Airways': 'FL',
'Air Transat': 'TS',
'Avialeasing Aviation Company': 'EC',
'Tyrolean Airways': '\\N',
'Deutsche Luftverkehrsgesellschaft (DLT)': 'DW',
'Air Cargo Germany': '6U',
'Aerolineas Galapagos (Aerogal)': '2K',
'Alrosa Mirny Air Enterprise': '6R',
'Maldivian Air Taxi': '8Q',
'British Airways': 'BA',
'Biman Bangladesh Airlines': 'BG',
'Flyglobespan': 'B4',
'Black Stallion Airways': 'BZ',
'ALAK': 'J4',
'Benin Golf Air': 'A8',
'Belair Airlines': '4T',
'Bahamasair': 'UP',
'Aviaexpresscruise': 'E6',
'Balkan Bulgarian Airlines': 'LZ',
'TransBrasil Airlines': 'TH',
'British International Helicopters': 'BS',
'Bangkok Airways': 'PG',
'Blue1': 'KF',
'Bearskin Lake Air Service': 'JV',
'Bellview Airlines': 'B3',
'bmi': 'BD',
'bmibaby': 'WW',
'Bemidji Airlines': 'CH',
'VivaColombia': '5Z',
'Bouraq Indonesia Airlines': 'BO',
'Blue Panorama Airlines': 'BV',
'Svyaz Rossiya': '7R',
'Bering Air': '8E',
'Belavia Belarusian Airlines': 'B2',
'Cambodia Angkor Air (K6)': 'K6',
'Horizon Airlines': 'BN',
'Big Sky Airlines': 'GQ',
'Star1 Airlines': 'V9',
'Metro Batavia': '7P',
'Berjaya Air': 'J8',
'Blue Wings': 'QW',
'Private Wings Flugcharter': '8W',
'Brit Air': 'DB',
"Compagnie Africaine d\\\\'Aviation": 'E9',
'Brussels Airlines': 'SN',
'Binter Canarias': 'NT',
'Blue Air': '0B',
'British Mediterranean Airways': 'KJ',
'Bulgaria Air': 'FB',
'Barents AirLink': '8N',
'CAL Cargo Air Lines': '5C',
'Asian Wings Airways': 'AW',
'Calima Aviacion': 'XG',
'Camai Air': 'R9',
'Cameroon Airlines': 'UY',
'CanJet': 'C6',
'Compass Airlines': 'CP',
'Canadian North': '5T',
'Maastricht Airlines': 'W2',
'Cape Air': '9K',
'Red Jet Andes': 'PT',
'San Juan Airlines': '2G',
'Cargojet Airways': 'W8',
'Caribbean Airlines': 'BW',
'BusinessAir': '8B',
'Carpatair': 'V3',
'Caspian Airlines': 'RV',
'Cathay Pacific': 'CX',
'Cayman Airways': 'KX',
'Cebu Pacific': '5J',
'Centavia': '7N',
'Centralwings': 'C0',
'Denim Air ': 'J7',
'Thai Smile Airways': 'WE',
'Air Pegasus': 'OP',
'Champion Air': 'MG',
'Changan Airlines': '2Z',
'Snowbird Airlines': 'S8',
'Chautauqua Airlines': 'RP',
'Chicago Express (C8)': 'C8',
'China Airlines': 'CI',
'China Cargo Airlines': 'CK',
'China Eastern Airlines': 'MU',
'BA CityFlyer': 'CJ',
'China Northwest Airlines (WH)': 'WH',
'China Southern Airlines': 'CZ',
'Hahn Air': 'HR',
'LTE International Airways': 'XO',
'Yunnan Airlines': '3Q',
'Atlantic Air Services': 'X7',
'All America': 'A2',
'Cimber Air': 'QI',
'Cirrus Airlines': 'C9',
'City Airline': 'CF',
'Gol Transportes Aéreos': 'G3',
'CityJet': 'WX',
'Alitalia Cityliner': 'CT',
'Gryphon Airlines': '6P',
'Air Busan': 'BX',
'Coastal Air': 'DQ',
'Colgan Air': '9L',
'Comair': 'MN',
'CommutAir': 'C5',
'Comores Airlines': 'KR',
'Eurofly Service': 'GJ',
'Condor Flugdienst': 'DE',
'Consorcio Aviaxsa': '6A',
'QatXpress': 'C3',
'Continental Express': 'CO',
'Continental Micronesia': 'CS',
'Conviasa': 'V0',
'Copa Airlines': 'CM',
'Corsairfly': 'SS',
'Corse-Mediterranee': 'XK',
'Fly One': 'F5',
'Croatia Airlines': 'OU',
'Crossair Europe': 'QE',
'Cubana de Aviación': 'CU',
'Cyprus Airways': 'CY',
'Cyprus Turkish Airlines': 'YK',
'Czech Airlines': 'OK',
'Amsterdam Airlines': 'WD',
'DAT Danish Air Transport': 'DX',
'EuropeSky': 'ES',
'LTU Austria': 'L3',
'Daallo Airlines': 'D3',
'Kabo Air': 'N2',
'Dalavia': 'H8',
'Darwin Airline': '0D',
'NEPC Airlines': 'D5',
'Delta Air Lines': 'DL',
'Deutsche Bahn': '2A',
'Sky Trek International Airlines': '1I',
'AirAsia X': 'D7',
'Dennis Sky': 'DH',
'Djibouti Airlines': 'D8',
'Dominicana de Aviaci': 'DO',
'Domodedovo Airlines': 'E3',
'Dragonair': 'KA',
'Druk Air': 'KB',
'dba': 'DI',
'OneChina': '1C',
'EVA Air': 'BR',
'Eagle Air': 'H7',
'East African': 'QU',
'Starbow Airlines': 'S9',
'Eastern Airways': 'T3',
'Eastland Air': 'DK',
'Egyptair': 'MS',
'El Al Israel Airlines': 'LY',
'El-Buraq Air Transport': 'UZ',
'Emirates': 'EK',
'Empresa Ecuatoriana De Aviacion': 'EU',
'Eos Airlines': 'E0',
'Eritrean Airlines': 'B8',
'European Aviation Air Charter': 'E7',
'Estonian Air': 'OV',
'Ethiopian Airlines': 'ET',
'Etihad Airways': 'EY',
'Euro Exec Express': 'RZ',
'Eurocypria Airlines': 'UI',
'Eurolot': 'K2',
'Malawian Airlines': '3W',
'European Air Express': 'EA',
'Red Jet Canada': 'QY',
'Eurowings': 'EW',
'Sun Air of Scandinavia': 'EZ',
'Excel Airways': 'JN',
'MNG Airlines': 'MB',
'Executive Airlines': 'OW',
'Hewa Bora Airways': 'EO',
'ExpressJet': 'XE',
'United Feeder Service': 'U2',
'Falcon Air (IH)': 'IH',
'Far Eastern Air Transport': 'EF',
'Faroejet': 'F6',
'Faso Airways': 'F3',
'FOX Linhas Aereas': 'FX',
'National Air Cargo': 'N8',
'Vuola Italia': '4S',
'Finnair': 'AY',
'Finncomm Airlines': 'FC',
'Northwest Regional Airlines': 'FY',
'First Air': '7F',
'First Choice Airways': 'DP',
'STP Airways': '8F',
'Flightline': 'B5',
'Parmiss Airlines (IPV)': 'PA',
'Florida West International Airways': 'RF',
'Fly Air': 'F2',
'Sharp Airlines': 'SH',
'FlyLal': 'TE',
'FlyNordic': 'LF',
'Flybaboo': 'F7',
'Flybe': 'BE',
'Vueling Airlines': 'VY',
'Yangon Airways': 'HK',
'Freedom Air': 'FP',
'Frontier Airlines': 'F9',
'Frontier Flying Service': '2F',
'FlyHigh Airlines Ireland (FH)': 'FH',
'GB Airways': 'GT',
'All Colombia': '7O',
'Galileo International': '1G',
'Lina Congo': 'GC',
'GoJet Airlines': 'G7',
'Garuda Indonesia': 'GA',
'Georgian Airways': 'A9',
'Georgian National Airlines': 'QB',
'Germania': 'ST',
'Germanwings': '4U',
'Gadair European Airlines': 'GP',
'Ghana International Airlines': 'G0',
'Genesis': 'GK',
'Golden Air': 'DC',
'Indya Airline Group': 'G1',
'Great Lakes Airlines': 'ZK',
'Spring Airlines Japan': 'IJ',
'Grupo TACA': 'TA',
'Air Volga': 'G6',
'Jazeera Airways': 'J9',
'Gulf Air Bahrain': 'GF',
'Gabon Airlines': 'GY',
'Hageland Aviation Services': 'H6',
'Hainan Airlines': 'HU',
'All America CL': '1R',
'Haiti Ambassador Airlines': '2T',
'Hamburg International': '4R',
'TUIfly': 'X3',
'Hapagfly': 'HF',
'Harbor Airlines': 'HB',
'HQ- Business Express': 'HQ',
'Hawaiian Airlines': 'HA',
'Hawkair': 'BH',
'Hankook Airline': 'HN',
'Heli France': '8H',
'Helijet': 'JB',
'Helios Airways': 'ZU',
'Hellas Jet': 'T4',
'North-Wright Airways': 'HW',
'Helvetic Airways': '2L',
'Norwegian Long Haul AS': 'DU',
"Hex'Air": 'UD',
'Hi Fly (5K)': '5K',
'Hokkaido International Airlines': 'HD',
'I-Fly': 'H5',
'Hong Kong Airlines': 'HX',
'Hong Kong Express Airways': 'UO',
'Air Hamburg (AHO)': 'HH',
'Horizon Air': 'QX',
'Inter Islands Airlines': 'H4',
'LSM International ': 'II',
'CB Airways UK ( Interliging Flights )': '1F',
'Polyot Sirena': '1U',
'Iberia Airlines': 'IB',
'Ibex Airlines': 'FW',
'Icelandair': 'FI',
'Lankair': 'IK',
'IndiGo Airlines': '6E',
'Indian Airlines': 'IC',
'Indonesia AirAsia': 'QZ',
'Indonesian Airlines': 'IO',
'Interair South Africa': 'D6',
'Sky Regional': 'RS',
'Interlink Airlines': 'ID',
'Fly 6ix': '6I',
'Intersky': '3L',
'International AirLink': 'I4',
'Iran Air': 'IR',
'Iran Aseman Airlines': 'EP',
'Iraqi Airways': 'IA',
'Island Airlines': 'IS',
'Air Carnival': '2S',
'Redhill Aviation': '8L',
'Canadian National Airways': 'CN',
'Islas Airways': 'IF',
'Islena De Inversiones': 'WC',
'Israir': '6H',
'Regionalia Venezuela': '9X',
'Itek Air': 'GI',
'JAL Express': 'JC',
'JALways': 'JO',
'JSC Transport Automated Information Systems': '1M',
'Japan Airlines Domestic': 'JL',
'Japan Asia Airways': 'EG',
'Japan Transocean Air': 'NU',
'Air Serbia': 'JU',
'Royal Air Cambodge': 'VJ',
'Jeju Air': '7C',
'Jet Airways': 'QJ',
'Jetclub': '0J',
'Jetstar Asia Airways': '3K',
'Jet2.com': 'LS',
'Komiinteravia': '8J',
'JetBlue Airways': 'B6',
'L.A.B. Flying Service': 'JF',
'Spicejet': 'SG',
'Jetstar Airways': 'JQ',
'Jusur airways': 'JX',
'GermanXL': 'GX',
'Malta Air Charter': 'R5',
'KD Avia': 'KD',
'Western Airlines': 'WA',
'KLM Royal Dutch Airlines': 'KL',
'Kalitta Air': 'K4',
'Kam Air': 'RQ',
'Eagle Atlantic Airlines': 'E2',
'Vision Airlines (V2)': 'V2',
'Kavminvodyavia': 'KV',
'Kenmore Air': 'M5',
'Kenya Airways': 'KQ',
'Kingfisher Airlines': 'IT',
'Kish Air': 'Y9',
'Dense Airways': 'KP',
'Kogalymavia Air Company': '7K',
'Korean Air': 'KE',
'Krasnojarsky Airlines': '7B',
'Krylo Airlines': 'K9',
'Kuban Airlines': 'GW',
'Kuwait Airways': 'KU',
'Kuzu Airlines Cargo': 'GO',
'Skagway Air Service': 'N5',
'AirRussia': 'R8',
'LACSA': 'LR',
'Royal Airways': 'KG',
'LAN Airlines': 'LA',
'LAN Argentina': '4M',
'LAN Express': 'LU',
'LAN Peru': 'LP',
'LOT Polish Airlines': 'LO',
'Air Lituanica': 'LT',
'Aerocontinente (Priv)': 'N6',
'Lao Airlines': 'QV',
'Lugansk Airlines': 'L7',
'Lauda Air': 'NG',
'LCM AIRLINES': 'LQ',
'Leeward Islands Air Transport': 'LI',
'Libyan Arab Airlines': 'LN',
'Linea Aerea de Servicio Ejecutivo Regional': '8z',
'Livingston': 'LM',
'Lion Mentari Airlines': 'JT',
'Air Costa': 'LB',
'Luftfahrtgesellschaft Walter': 'HE',
'Lufthansa Cargo': 'LH',
'Lufthansa CityLine': 'CL',
'All Argentina': 'L1',
'Scat Air': 'DV',
'Lufttransport': 'L5',
'Luxair': 'LG',
'Lviv Airlines': '5V',
'Lynden Air Cargo': 'L2',
'L': 'MJ',
'Tropical Airways': 'M7',
'MAT Macedonian Airlines': 'IN',
'MIAT Mongolian Airlines': 'OM',
'Maersk': 'DM',
'Mahan Air': 'W5',
'MHS Aviation GmbH': 'M2',
'Malaysia Airlines': 'MH',
'Malmö Aviation': 'TF',
'Malév': 'MA',
'Mandala Airlines': 'RI',
'Mandarin Airlines': 'AE',
'Mango': 'JE',
'Martinair': 'MP',
'SOCHI AIR EXPRESS': 'Q4',
'Myanmar Airways International': '8M',
'Midwest Airlines (Egypt)': 'MY',
'Maya Island Air': 'MW',
'Menajet': 'IM',
'Meridiana': 'IG',
'Merpati Nusantara Airlines': 'MZ',
'Mesa Airlines': 'YV',
'Mesaba Airlines': 'XJ',
'Mexicana de Aviaci': 'MX',
'Middle East Airlines': 'ME',
'Midway Airlines': 'JI',
'Midwest Airlines': 'YX',
'Moldavian Airlines': '2M',
'Myway Airlines': '8I',
'Montenegro Airlines': 'YM',
'Moskovia Airlines': '3R',
'Motor Sich': 'M9',
'Regionalia México': 'N4',
'MyTravel Airways': 'VZ',
'Myanma Airways': 'UB',
'Nas Air': 'XY',
'Transeuropean Airlines': 'UE',
'All Spain': 'N7',
'National Airways Cameroon': '9O',
'Northern Air Cargo': 'NC',
'Nationwide Airlines': 'CE',
'Our Airline': 'ON',
'Navitaire': '1N',
'Royal Nepal Airlines': 'RA',
'New England Airlines': 'EJ',
'NextJet': '2N',
'Niki': 'HG',
'Dense Connection': 'KZ',
'Nok Air': 'DD',
'Fuji Dream Airlines': 'JH',
'Nordic Regional': '6N',
'All Europe': 'N9',
'USA Jet Airlines': 'U7',
'Northwest Airlines': 'NW',
'Northwestern Air': 'J3',
'Norwegian Air Shuttle': 'DY',
'Nouvel Air Tunisie': 'BJ',
'Marysya Airlines': 'M4',
'Skyjet Airlines': 'UQ',
'Air Ops': 'CR',
'Oasis Hong Kong Airlines': 'O8',
'Strategic Airlines': 'VC',
'Oceanair': 'O6',
'Oceanic Airlines': 'O2',
'Olympic Airlines': 'OA',
'Oman Air': 'WY',
'Omni Air International': 'OY',
'Omskavia Airline': 'N3',
'Orenburg Airlines': 'R2',
'Orient Thai Airlines': 'OX',
'Ostfriesische Lufttransport': 'OL',
'Overland Airways': 'OJ',
'Ozjet Airlines': 'O7',
'PAN Air': 'PV',
'PB Air': '9Q',
'PLUNA': 'PU',
'PMTair': 'U4',
'Asia Wings': 'Y5',
'Jetstar Pacific': 'BL',
'Virgin Blue': 'DJ',
'Pacific Coastal Airline': '8P',
'Pacific East Asia Cargo Airlines': 'Q8',
'Ukraine International Airlines': 'PS',
'Pacific Wings': 'LW',
'Pakistan International Airlines': 'PK',
'Primera Air': 'PF',
'Jettor Airlines': 'NR',
'LSM Airlines': 'PQ',
'Air Mekong': 'P8',
'Paramount Airways': 'I7',
'Peninsula Airways': 'KS',
'Peruvian Airlines': 'P9',
'Philippine Airlines': 'PR',
'SATENA': '9R',
'Sun Air (Fiji)': 'PI',
'Pinnacle Airlines': '9E',
'FlyPortugal': 'PO',
'Polynesian Airlines': 'PH',
'Porter Airlines': 'PD',
'Portugalia': 'NI',
'Potomac Air': 'BK',
'Precision Air': 'PW',
'Transavia France': 'TO',
'Primaris Airlines': 'FE',
'Proflight Commuter Services': 'P0',
'Qantas': 'QF',
'Qatar Airways': 'QR',
'RACSA': 'R6',
'Radixx Solutions International': '1D',
'Reem Air': 'V4',
'Regional Airlines': 'FN',
'Regional Express': 'ZL',
'RegionsAir': '3C',
'Republic Airlines': 'RW',
'Republic Express Airlines': 'RH',
'Sky Wing Pacific': 'C7',
'Thai Lion Air': 'SL',
'Rossiya': 'R4',
'Air Rarotonga': 'GZ',
'REXAIR VIRTUEL': 'RR',
'Royal Air Maroc': 'AT',
'Royal Airlines': 'R0',
'Royal Brunei Airlines': 'BI',
'Royal Jordanian': 'RJ',
'WestJet Encore': 'WR',
'Regional Paraguaya': 'P7',
'Rwandair Express': 'WB',
'Ryan International Airlines': 'RD',
'Ryanair': 'FR',
'Régional': 'YS',
'SATA International': 'S4',
'South African Airways': 'SA',
'Shaheen Air International': 'NL',
'Scandinavian Airlines System': 'SK',
'S7 Airlines': 'S7',
'Seaborne Airlines': 'BB',
'SriLankan Airlines': 'UL',
'Sun Country Airlines': 'SY',
'Sky Express': 'XW',
'MexicanaLink': 'I6',
'Star Flyer': '7G',
'Epic Holiday': 'FA',
'SATA Air Acores': 'SP',
'Scorpio Aviation': '8S',
'Singapore Airlines Cargo': 'SQ',
'Sibaviatrans': '5M',
'Skynet Airlines': 'SI',
'Texas Spirit': 'XS',
'Sriwijaya Air': 'SJ',
'Sama Airlines': 'ZS',
'Siem Reap Airways': 'FT',
'SkyWork Airlines ': 'SX',
'Spirit of Manila Airlines': 'SM',
'South East Asian Airlines': 'DG',
'Skyservice Airlines': '5G',
'Servicios de Transportes A': 'FS',
'Sudan Airways': 'SD',
'Saudi Arabian Airlines': 'SV',
'Southwest Airlines': 'WN',
'Southern Winds Airlines': 'A4',
'Sunwing': 'WG',
'Swiss International Air Lines': 'LX',
'Swissair': 'SR',
'Swe Fly': 'WV',
'SunExpress': 'XQ',
'Transaviaexport': 'AL',
'Zabaykalskii Airlines': 'ZP',
'Air Arabia Egypt': 'E5',
'Shandong Airlines': 'SC',
'Spring Airlines': '9S',
'Sichuan Airlines': '3U',
'Shanghai Airlines': 'FM',
'Shenzhen Airlines': 'ZH',
"Sun D'Or": '7L',
'SkyEurope': 'NE',
'SOCHI AIR': 'CQ',
"Salsa d\\\\'Haiti": 'SO',
'Spanair': 'JK',
'Sabre Pacific': '1Z',
'Sabre': '1S',
'Hellenic Airways': '1H',
'Sirena': '1Q',
'BudgetAir': '1K',
'SNCF': '2C',
'Spirit Airlines': 'NK',
'Spike Airlines': 'S0',
'Santa Barbara Airlines': 'S3',
'Sky Airline': 'H2',
'SkyWest': 'OO',
'Skyways Express': 'JZ',
'Skymark Airlines': 'BC',
'Jin Air': 'LJ',
'SilkAir': 'MI',
'Slovak Airlines': '6Q',
'Surinam Airways': 'PY',
'Sterling Airlines': 'NB',
'Skynet Asia Airways': '6J',
'Solomon Airlines': 'IE',
'Saratov Aviation Division': '6W',
'Sat Airlines': 'HZ',
'Trast Aero': 'S5',
'Royal Southern Airlines.': 'R1',
'Salmon Air': 'S6',
'TAME': 'EQ',
'TAM Brazilian Airlines': 'JJ',
'TAP Portugal': 'TP',
'Tunisair': 'TU',
'3 Valleys Airlines': '3V',
'Thai Air Cargo': 'T2',
'Thomas Cook Airlines': 'MT',
'Texas Wings': 'TQ',
'All Asia': 'L9',
'Tomp Airlines': 'ZT',
'Tiger Airways': 'TR',
'Thai Airways International': 'TG',
'Thai AirAsia': 'FD',
'Turkish Airlines': 'TK',
'Twin Jet': 'T7',
'International Europe': '9I',
'Tiara Air': '3P',
'TransHolding': 'TI',
'Thomsonfly': 'BY',
'Tropic Air': 'PM',
'TAMPA': 'QT',
'TransAsia Airways': 'GE',
'Transavia Holland': 'HV',
'TACV': 'VR',
'Thai Star Airlines': 'T9',
'Transwest Air': '9T',
'Transaero Airlines': 'UN',
'Turkmenistan Airlines': 'T5',
'Tuninter': 'UG',
'Trans Pas Air': 'T6',
'Tway Airlines': 'TW',
'TUIfly Nordic': '6B',
'TAAG Angola Airlines': 'DT',
'Air Charter International': 'SF',
'TAM Mercosur': 'PZ',
'Trans States Airlines': 'AX',
'TransRussiaAirlines': '1E',
'Thalys': '2H',
'Open Skies Consultative Commission': '1L',
'Tarom': 'RO',
'Turan Air': '3T',
'TRIP Linhas A': '8R',
'USA3000 Airlines': 'U5',
'United Airlines': 'UA',
'Ural Airlines': 'U6',
'UM Airlines': 'UF',
'Ukrainian Cargo Airways': '6Z',
'United Parcel Service': '5X',
'US Airways': 'US',
'UTair Aviation': 'UT',
'Uzbekistan Airways': 'HY',
'US Helicopter Corporation': 'UH',
'Virgin Australia': 'VA',
'Valuair': 'VF',
'Vietnam Airlines': 'VN',
'VIM Airlines': 'NN',
'All America AR': '2R',
'Volaris': 'Y4',
'Volga-Dnepr Airlines': 'VI',
'Virgin America': 'VX',
'Virgin Express': 'TV',
'Virgin Nigeria Airways': 'VK',
'Virgin Atlantic Airways': 'VS',
'Viva Macau': 'ZG',
'Vladivostok Air': 'XF',
'Varig Log': 'LC',
'Viaggio Air': 'VM',
'VRG Linhas Aereas': 'RG',
'VASP': 'VP',
'VLM Airlines': 'VG',
'Wayraper': '7W',
'WebJet Linhas A': 'WJ',
'Welcome Air': '2W',
'West Coast Air': '8O',
'WestJet': 'WS',
'Widerøe': 'WF',
'Wind Jet': 'IV',
'Wizz Air': 'W6',
'Wizz Air Hungary': '8Z',
'World Airways': 'WO',
'Worldspan': '1P',
'XL Airways France': 'SE',
'Xiamen Airlines': 'MF',
'XPTO': 'XP',
'Yamal Airlines': 'YL',
'Marusya Airways': 'Y8',
'Yemenia': 'IY',
'SOCHI AIR CHATER': 'Q3',
'Zip': '3J',
'LionXpress': 'C4',
'Zoom Airlines': 'Z4',
'Air Vistara': 'UK',
'Yellow Air Taxi': 'Y0',
'Air Mandalay': '6T',
'TrasBrasil': 'TB',
'Baikotovitchestrian Airlines ': 'BU',
'Globus': 'GH',
'Air Kazakhstan': '9Y',
'Japan Air System': 'JD',
'Locair': 'ZQ',
'EasyJet (DS)': 'DS',
'Star Peru (2I)': '2I',
'Carnival Air Lines': 'KW',
'United Airways': '4H',
'TransNusa Air': 'M8',
'Fly540': '5H',
'Island Air (WP)': 'WP',
'AirOnix': 'OG',
'Uni Air': 'B7',
'Gomelavia': 'YD',
'Red Wings': 'WZ',
'TUIfly (X3)': '11',
'Felix Airways': 'FU',
'Kostromskie avialinii': 'K1',
'Greenfly': 'XX',
'Tajik Air': '7J',
'Air Mozambique': 'TM',
'ELK Airways': '--',
'Virgin Pacific': 'VH',
'Zest Air': 'Z2',
'Air Arabia Maroc': '3O',
'Baltic Air lines': 'B1',
'Ciel Canadien': 'YC',
'Air Comet Chile': '3I',
'Nazca': '-.',
'Senegal Airlines': 'DN',
'Fly Illi': 'IL',
'Salzburg arrows': 'SZ',
'VickJet': 'KT',
'Zz': 'ZZ',
'Atifly': 'A1',
'CCML Airlines': 'CB',
'Rainbow Air Canada': 'RY',
'Ciao Air': '99',
'Pacific Express': 'VB',
'Pal airlines': '5P',
'CanXpress': 'C1',
'CanXplorer': 'C2',
'Click (Mexicana)': 'QA',
'World Experience Airline': 'W1',
'Air Choice One': '3E',
'China United': 'KN',
'Safi Airlines': '4Q',
'Bobb Air Freight': '1',
'Pelita': '6D',
'Alaska Seaplane Service': 'J5',
'TAN': 'T8',
'TACA Peru': 'T0',
'Pan Am World Airways Dominicana': '7Q',
'VIP Ecuador': 'V6',
'Polar Airlines': 'ЯП',
'Catovair': 'OC',
'Halcyonair': '7Z',
'Business Aviation': '4P',
'AlMasria Universal Airlines': 'UJ',
'SmartLynx Airlines': '6Y',
'KoralBlue Airlines': 'K7',
'Med Airways': '7Y',
'Royal Falcon': 'RL',
'Euroline': '4L',
'Athens Airways': 'ZF',
'Viking Hellas': 'VQ',
'Starline.kz': 'DZ',
'Chongqing Airlines': 'OQ',
'West Air China': 'PN',
'NordStar Airlines': 'Y7',
'MDLR Airlines': '9H',
'Maldivian': 'Q2',
'Xpressair': 'XN',
'SGA Airlines': '5E',
'Air2there': 'F8',
'British Air Ferries': '??',
'Lombards Air': '++',
'U.S. Air': '-+',
'Jayrow': "\\\\'",
'Llloyd Helicopters': '::',
'Wilderness Air': ';;',
'Whitaker Air': '^^',
'PanAm World Airways': 'WQ',
'Virginwings': 'YY',
'Buquebus Líneas Aéreas': 'BQ',
'Wizz Air Ukraine': 'WU',
'88': '47',
'Harbour Air (Priv)': 'H3',
'Royal European Airlines': '69',
"Tom\\\\'s & co airliners": '&T',
'Nik Airways': 'X1',
'Congo Express': 'XZ',
'Fly Dubai': 'FZ',
'Domenican Airlines': 'D1',
'All Africa': '9A',
'LSM AIRLINES ': 'YZ',
'Aero Lloyd (YP)': 'YP',
'UTair-Express': 'UR',
'Huaxia': 'G5',
...}
airports_df=pd.read_csv("airports2.csv")
airports_d=dict(zip(airports_df.Code, airports_df.Name))
# airports_d
airports_i_d={v:k for k,v in airports_d.items()}
airports_i_d
{'Barter Island LRRS Airport': 'BTI',
'Cape Lisburne LRRS Airport': 'LUR',
'Point Lay LRRS Airport': 'PIZ',
'Hilo International Airport': 'ITO',
'Orlando Executive Airport': 'ORL',
'Bettles Airport': 'BTT',
'Clear Airport': 'Z84',
'Indian Mountain LRRS Airport': 'UTO',
'Fort Yukon Airport': 'FYU',
'Sparrevohn LRRS Airport': 'SVW',
'Bryant Army Heliport': 'FRN',
'Tatalina LRRS Airport': 'TLJ',
'Cape Romanzof LRRS Airport': 'CZF',
'Laurence G Hanscom Field': 'BED',
'St Paul Island Airport': 'SNP',
'Cape Newenham LRRS Airport': 'EHM',
'St George Airport': 'STG',
'Iliamna Airport': 'ILI',
'Platinum Airport': 'PTU',
'Big Mountain Airport': 'BMX',
'Oscoda Wurtsmith Airport': 'OSC',
'Marina Municipal Airport': 'OAR',
'Sacramento Mather Airport': 'MHR',
'Bicycle Lake Army Air Field': 'BYS',
'Twentynine Palms (Self) Airport': 'NXP',
'Fort Smith Regional Airport': 'FSM',
'Merrill Field': 'MRI',
'Grants-Milan Municipal Airport': 'GNT',
'Ponca City Regional Airport': 'PNC',
'Hunter Army Air Field': 'SVN',
'Grand Forks International Airport': 'GFK',
'Grider Field': 'PBF',
'Whiting Field Naval Air Station - North': 'NSE',
'Hana Airport': 'HNM',
'Ernest A. Love Field': 'PRC',
'Trenton Mercer Airport': 'TTN',
'General Edward Lawrence Logan International Airport': 'BOS',
'Travis Air Force Base': 'SUU',
'Griffiss International Airport': 'RME',
'Wendover Airport': 'ENV',
'Mobile Downtown Airport': 'BFM',
'Metropolitan Oakland International Airport': 'OAK',
'Eppley Airfield': 'OMA',
'Port Angeles Cgas Airport': 'NOW',
'Kahului Airport': 'OGG',
'Wichita Mid Continent Airport': 'ICT',
'Kansas City International Airport': 'MCI',
'Dane County Regional Truax Field': 'MSN',
'Dillingham Airport': 'DLG',
'Boone County Airport': 'HRO',
'Phoenix Sky Harbor International Airport': 'PHX',
'Bangor International Airport': 'BGR',
'Fort Lauderdale Executive Airport': 'FXE',
'East Texas Regional Airport': 'GGG',
'Anderson Regional Airport': 'AND',
'Spokane International Airport': 'GEG',
'North Perry Airport': 'HWO',
'San Francisco International Airport': 'SFO',
'Cut Bank International Airport': 'CTB',
'Acadiana Regional Airport': 'ARA',
'Gainesville Regional Airport': 'GNV',
'Memphis International Airport': 'MEM',
'Bisbee Douglas International Airport': 'DUG',
'Allen Army Airfield': 'BIG',
'TSTC Waco Airport': 'CNW',
'Annette Island Airport': 'ANN',
'Caribou Municipal Airport': 'CAR',
'Little Rock Air Force Base': 'LRF',
'Redstone Army Air Field': 'HUA',
'Pope Field': 'POB',
'Dalhart Municipal Airport': 'DHT',
'Laughlin Air Force Base': 'DLF',
'Los Angeles International Airport': 'LAX',
'Anniston Metropolitan Airport': 'ANB',
'Cleveland Hopkins International Airport': 'CLE',
'Dover Air Force Base': 'DOV',
'Cincinnati Northern Kentucky International Airport': 'CVG',
'Tipton Airport': 'FME',
'China Lake Naws (Armitage Field) Airport': 'NID',
'Huron Regional Airport': 'HON',
'Juneau International Airport': 'JNU',
'Lafayette Regional Airport': 'LFT',
'Newark Liberty International Airport': 'EWR',
'Boise Air Terminal/Gowen field': 'BOI',
'Creech Air Force Base': 'INS',
'Garden City Regional Airport': 'GCK',
'Minot International Airport': 'MOT',
'Wheeler Army Airfield': 'HHI',
'Maxwell Air Force Base': 'MXF',
'Homey (Area 51) Airport': '\\N',
'Dallas Love Field': 'DAL',
'Butts AAF (Fort Carson) Air Field': 'FCS',
'Helena Regional Airport': 'HLN',
'Miramar Marine Corps Air Station - Mitscher Field': 'NKX',
'Luke Air Force Base': 'LUF',
'Jack Northrop Field Hawthorne Municipal Airport': 'HHR',
'Houlton International Airport': 'HUL',
'Vance Air Force Base': 'END',
'Point Mugu Naval Air Station (Naval Base Ventura Co)': 'NTD',
'Edwards Air Force Base': 'EDW',
'Lake Charles Regional Airport': 'LCH',
'Kona International At Keahole Airport': 'KOA',
'Myrtle Beach International Airport': 'MYR',
'Lemoore Naval Air Station (Reeves Field) Airport': 'NLC',
'Nantucket Memorial Airport': 'ACK',
'Felker Army Air Field': 'FAF',
'Campbell AAF (Fort Campbell) Air Field': 'HOP',
'Ronald Reagan Washington National Airport': 'DCA',
'Patuxent River Naval Air Station/Trapnell Field Aiport': 'NHK',
'Palacios Municipal Airport': 'PSX',
'Arkansas International Airport': 'BYH',
'Atlantic City International Airport': 'ACY',
'Tinker Air Force Base': 'TIK',
'Pueblo Memorial Airport': 'PUB',
'Northern Maine Regional Airport at Presque Isle': 'PQI',
'Gray Army Air Field': 'GRF',
'Kodiak Airport': 'ADQ',
'Upolu Airport': 'UPP',
'Fort Lauderdale Hollywood International Airport': 'FLL',
'Davis Field': 'MKO',
'Falls International Airport': 'INL',
'Salt Lake City International Airport': 'SLC',
'Childress Municipal Airport': 'CDS',
'Keesler Air Force Base': 'BIX',
'Lawson Army Air Field (Fort Benning)': 'LSF',
'Marshall Army Air Field': 'FRI',
'Harrisburg International Airport': 'MDT',
'Lincoln Airport': 'LNK',
'Capital City Airport': 'FFT',
'Waimea Kohala Airport': 'MUE',
'Massena International Richards Field': 'MSS',
'Hickory Regional Airport': 'HKY',
'Albert Whitted Airport': 'SPG',
'Page Field': 'FMY',
'George Bush Intercontinental Houston Airport': 'IAH',
'Millinocket Municipal Airport': 'MLT',
'Andrews Air Force Base': 'ADW',
'Smith Reynolds Airport': 'INT',
'Southern California Logistics Airport': 'VCV',
'Bob Sikes Airport': 'CEW',
'Wheeler Sack Army Air Field': 'GTB',
'St Clair County International Airport': 'PHN',
'Meadows Field': 'BFL',
'El Paso International Airport': 'ELP',
'Valley International Airport': 'HRL',
'Columbia Metropolitan Airport': 'CAE',
'Davis Monthan Air Force Base': 'DMA',
'Pensacola Naval Air Station/Forrest Sherman Field': 'NPA',
'Pensacola Regional Airport': 'PNS',
'Grand Forks Air Force Base': 'RDR',
'William P Hobby Airport': 'HOU',
'Buckley Air Force Base': 'BKF',
'Northway Airport': 'ORT',
'Palmer Municipal Airport': 'PAQ',
'Pittsburgh International Airport': 'PIT',
'Wiley Post Will Rogers Memorial Airport': 'BRW',
'Ellington Airport': 'EFD',
'Whidbey Island Naval Air Station /Ault Field/ Airport': 'NUW',
'Alice International Airport': 'ALI',
'Moody Air Force Base': 'VAD',
'Miami International Airport': 'MIA',
'Seattle Tacoma International Airport': 'SEA',
'Lovell Field': 'CHA',
'Igor I Sikorsky Memorial Airport': 'BDR',
'Jackson-Medgar Wiley Evers International Airport': 'JAN',
'Scholes International At Galveston Airport': 'GLS',
'Long Beach /Daugherty Field/ Airport': 'LGB',
'Dillingham Airfield': 'HDH',
'Williamsport Regional Airport': 'IPT',
'Indianapolis International Airport': 'IND',
'Whiteman Air Force Base': 'SZL',
'Akron Fulton International Airport': 'AKC',
'Greenwood–Leflore Airport': 'GWO',
'Westchester County Airport': 'HPN',
'Francis S Gabreski Airport': 'FOK',
'Jonesboro Municipal Airport': 'JBR',
'Palm Beach County Park Airport': 'LNA',
'North Island Naval Air Station-Halsey Field': 'NZY',
'Biggs Army Air Field (Fort Bliss)': 'BIF',
'Yuma MCAS/Yuma International Airport': 'YUM',
'Cavern City Air Terminal': 'CNM',
'Duluth International Airport': 'DLH',
'Bethel Airport': 'BET',
'Bowman Field': 'LOU',
'Sierra Vista Municipal Libby Army Air Field': 'FHU',
'Lihue Airport': 'LIH',
'Terre Haute International Hulman Field': 'HUF',
'Havre City County Airport': 'HVR',
'Grant County International Airport': 'MWH',
'Edward F Knapp State Airport': 'MPV',
'Richmond International Airport': 'RIC',
'Shreveport Regional Airport': 'SHV',
'Merle K (Mudhole) Smith Airport': 'CDV',
'Norfolk International Airport': 'ORF',
'Southeast Texas Regional Airport': 'BPT',
'Savannah Hilton Head International Airport': 'SAV',
'Hill Air Force Base': 'HIF',
'Nome Airport': 'OME',
'St Petersburg Clearwater International Airport': 'PIE',
'Menominee Marinette Twin County Airport': 'MNM',
'Lone Star Executive Airport': 'CXO',
'Deadhorse Airport': 'SCC',
'San Antonio International Airport': 'SAT',
'Greater Rochester International Airport': 'ROC',
'Patrick Air Force Base': 'COF',
'Teterboro Airport': 'TEB',
'Ellsworth Air Force Base': 'RCA',
'Raleigh Durham International Airport': 'RDU',
'James M Cox Dayton International Airport': 'DAY',
'Kenai Municipal Airport': 'ENA',
'Mc Alester Regional Airport': 'MLC',
'Niagara Falls International Airport': 'IAG',
'Coulter Field': 'CFD',
'Newport News Williamsburg International Airport': 'PHF',
'Esler Regional Airport': 'ESF',
'Altus Air Force Base': 'LTS',
'Tucson International Airport': 'TUS',
'Minot Air Force Base': 'MIB',
'Beale Air Force Base': 'BAB',
'Greater Kankakee Airport': 'IKK',
'Seymour Johnson Air Force Base': 'GSB',
'Theodore Francis Green State Airport': 'PVD',
'Salisbury Ocean City Wicomico Regional Airport': 'SBY',
'Rancho Murieta Airport': 'RIU',
'Bob Hope Airport': 'BUR',
'Detroit Metropolitan Wayne County Airport': 'DTW',
'Tampa International Airport': 'TPA',
'Pembina Municipal Airport': 'PMB',
'Polk Army Air Field': 'POE',
'Eielson Air Force Base': 'EIL',
'Range Regional Airport': 'HIB',
'Angelina County Airport': 'LFK',
'Midland International Airport': 'MAF',
'Austin Straubel International Airport': 'GRB',
'Ardmore Municipal Airport': 'ADM',
'Mc Guire Air Force Base': 'WRI',
'Emanuel County Airport': 'SBO',
'Augusta Regional At Bush Field': 'AGS',
'Sloulin Field International Airport': 'ISN',
'Bill & Hillary Clinton National Airport/Adams Field': 'LIT',
'Stewart International Airport': 'SWF',
'Baudette International Airport': 'BDE',
'Sacramento Executive Airport': 'SAC',
'Homer Airport': 'HOM',
'Waynesville-St. Robert Regional Forney field': 'TBN',
'Dobbins Air Reserve Base': 'MGE',
'Fairchild Air Force Base': 'SKA',
'Roscommon County - Blodgett Memorial Airport': 'HTL',
'Tyndall Air Force Base': 'PAM',
'Dallas Fort Worth International Airport': 'DFW',
'Melbourne International Airport': 'MLB',
'McChord Air Force Base': 'TCM',
'Austin Bergstrom International Airport': 'AUS',
'Rickenbacker International Airport': 'LCK',
'Sawyer International Airport': 'MQT',
'McGhee Tyson Airport': 'TYS',
'Hood Army Air Field': 'HLR',
'Lambert St Louis International Airport': 'STL',
'Millville Municipal Airport': 'MIV',
'Sheppard Air Force Base-Wichita Falls Municipal Airport': 'SPS',
'Cincinnati Municipal Airport Lunken Field': 'LUK',
'Hartsfield Jackson Atlanta International Airport': 'ATL',
'Castle Airport': 'MER',
'Mc Clellan Airfield': 'MCC',
'Gerald R. Ford International Airport': 'GRR',
'Winkler County Airport': 'INK',
'Fresno Yosemite International Airport': 'FAT',
'Vero Beach Municipal Airport': 'VRB',
'Imperial County Airport': 'IPL',
'Nashville International Airport': 'BNA',
'Laredo International Airport': 'LRD',
'Elmendorf Air Force Base': 'EDF',
'Ralph Wien Memorial Airport': 'OTZ',
'Altoona Blair County Airport': 'AOO',
'Dyess Air Force Base': 'DYS',
'South Arkansas Regional At Goodwin Field': 'ELD',
'La Guardia Airport': 'LGA',
'Tallahassee Regional Airport': 'TLH',
'Dupage Airport': 'DPA',
'Waco Regional Airport': 'ACT',
'Augusta State Airport': 'AUG',
'Hillsboro Municipal Airport': 'INJ',
'Mc Kellar Sipes Regional Airport': 'MKL',
'Molokai Airport': 'MKK',
'Godman Army Air Field': 'FTK',
'San Angelo Regional Mathis Field': 'SJT',
'Calexico International Airport': 'CXL',
'Chico Municipal Airport': 'CIC',
'Burlington International Airport': 'BTV',
'Jacksonville International Airport': 'JAX',
'Durango La Plata County Airport': 'DRO',
'Washington Dulles International Airport': 'IAD',
'Easterwood Field': 'CLL',
'Felts Field': 'SFF',
'General Mitchell International Airport': 'MKE',
'Abilene Regional Airport': 'ABI',
'Columbia Regional Airport': 'COU',
'Portland International Airport': 'PDX',
'Dade Collier Training and Transition Airport': 'TNT',
'Palm Beach International Airport': 'PBI',
'Fort Worth Meacham International Airport': 'FTW',
'Ogdensburg International Airport': 'OGS',
'Boeing Field King County International Airport': 'BFI',
'Lackland Air Force Base': 'SKF',
'Honolulu International Airport': 'HNL',
'Des Moines International Airport': 'DSM',
'Coastal Carolina Regional Airport': 'EWN',
'San Diego International Airport': 'SAN',
'Monroe Regional Airport': 'MLU',
'Shaw Air Force Base': 'SSC',
'Ontario International Airport': 'ONT',
'Majors Airport': 'GVT',
'Roswell International Air Center Airport': 'ROW',
'Coleman A. Young Municipal Airport': 'DET',
'Brownsville South Padre Island International Airport': 'BRO',
'Dothan Regional Airport': 'DHN',
'Cape May County Airport': 'WWD',
'Selfridge Angb Airport': 'MTC',
'Four Corners Regional Airport': 'FMN',
'Corpus Christi International Airport': 'CRP',
'Syracuse Hancock International Airport': 'SYR',
'Naval Air Station Key West/Boca Chica Field': 'NQX',
'Chicago Midway International Airport': 'MDW',
'Norman Y. Mineta San Jose International Airport': 'SJC',
'Lea County Regional Airport': 'HOB',
'Northeast Philadelphia Airport': 'PNE',
'Denver International Airport': 'DEN',
'Philadelphia International Airport': 'PHL',
'Sioux Gateway Col. Bud Day Field': 'SUX',
'Middle Georgia Regional Airport': 'MCN',
'Truth Or Consequences Municipal Airport': 'TCS',
'Palmdale Regional/USAF Plant 42 Airport': 'PMD',
'Randolph Air Force Base': 'RND',
'El Centro Naf Airport': 'NJK',
'Port Columbus International Airport': 'CMH',
'Drake Field': 'FYV',
'Henry Post Army Air Field (Fort Sill)': 'FSI',
'Princeton Municipal Airport': 'PNM',
'Wright-Patterson Air Force Base': 'FFO',
'Edward G. Pitka Sr Airport': 'GAL',
'Mineral Wells Airport': 'MWL',
'Mc Connell Air Force Base': 'IAB',
'New Orleans NAS JRB/Alvin Callender Field': 'NBG',
'Beaufort County Airport': 'BFT',
'Texarkana Regional Webb Field': 'TXK',
'Plattsburgh International Airport': 'PBG',
'Phillips Army Air Field': 'APG',
'Tucumcari Municipal Airport': 'TCC',
'Ted Stevens Anchorage International Airport': 'ANC',
'Robert Gray Army Air Field Airport': 'GRK',
'Black Rock Airport': 'ZUN',
'Bellingham International Airport': 'BLI',
'Millington Regional Jetport Airport': 'NQA',
'Elkins-Randolph Co-Jennings Randolph Field': 'EKN',
'Hartford Brainard Airport': 'HFD',
'North Central State Airport': 'SFZ',
'Mobile Regional Airport': 'MOB',
'Moffett Federal Airfield': 'NUQ',
'Santa Fe Municipal Airport': 'SAF',
'Barking Sands Airport': 'BKH',
'Beauregard Regional Airport': 'DRI',
'Bradshaw Army Airfield': 'BSF',
'Nogales International Airport': 'OLS',
'Mac Dill Air Force Base': 'MCF',
'Scott AFB/Midamerica Airport': 'BLV',
'Opa-locka Executive Airport': 'OPF',
'Del Rio International Airport': 'DRT',
'Southwest Florida International Airport': 'RSW',
'King Salmon Airport': 'AKN',
'Muir Army Air Field (Fort Indiantown Gap) Airport': 'MUI',
'Kapalua Airport': 'JHM',
'John F Kennedy International Airport': 'JFK',
'Homestead ARB Airport': 'HST',
'Riverside Municipal Airport': 'RAL',
'Sherman Army Air Field': 'FLV',
'Wallops Flight Facility Airport': 'WAL',
'Holloman Air Force Base': 'HMN',
'Willow Grove Naval Air Station/Joint Reserve Base': 'NXX',
'Cheyenne Regional Jerry Olson Field': 'CYS',
'Stockton Metropolitan Airport': 'SCK',
'Charleston Air Force Base-International Airport': 'CHS',
'Reno Tahoe International Airport': 'RNO',
'Ketchikan International Airport': 'KTN',
'Willow Run Airport': 'YIP',
'Vandenberg Air Force Base': 'VBG',
'Birmingham-Shuttlesworth International Airport': 'BHM',
'Lakehurst Maxfield Field Airport': 'NEL',
'Nellis Air Force Base': 'LSV',
'March ARB Airport': 'RIV',
'Modesto City Co-Harry Sham Field': 'MOD',
'Sacramento International Airport': 'SMF',
'Waukegan National Airport': 'UGN',
'City of Colorado Springs Municipal Airport': 'COS',
'Buffalo Niagara International Airport': 'BUF',
'Griffing Sandusky Airport': 'SKY',
'Snohomish County (Paine Field) Airport': 'PAE',
'Mountain Home Air Force Base': 'MUO',
'Cedar City Regional Airport': 'CDC',
'Bradley International Airport': 'BDL',
'Mc Allen Miller International Airport': 'MFE',
'Norfolk Ns (Chambers Fld) Airport': 'NGU',
'Westover ARB/Metropolitan Airport': 'CEF',
'Lubbock Preston Smith International Airport': 'LBB',
"Chicago O'Hare International Airport": 'ORD',
'Boca Raton Airport': 'BCT',
'Fairbanks International Airport': 'FAI',
'Quantico MCAF /Turner field': 'NYG',
'Cannon Air Force Base': 'CVS',
'Kaneohe Bay MCAS (Marion E. Carl Field) Airport': 'NGF',
'Offutt Air Force Base': 'OFF',
'Gulkana Airport': 'GKN',
'Watertown International Airport': 'ART',
'Palm Springs International Airport': 'PSP',
'Rick Husband Amarillo International Airport': 'AMA',
'Fort Dodge Regional Airport': 'FOD',
'Barksdale Air Force Base': 'BAD',
'Topeka Regional Airport - Forbes Field': 'FOE',
'Cotulla-La Salle County Airport': 'COT',
'Wilmington International Airport': 'ILM',
'Baton Rouge Metropolitan, Ryan Field': 'BTR',
'Tyler Pounds Regional Airport': 'TYR',
'Baltimore/Washington International Thurgood Marshall Airport': 'BWI',
'Hobart Regional Airport': 'HBR',
'Lanai Airport': 'LNY',
'Alexandria International Airport': 'AEX',
'Condron Army Air Field': 'WSD',
'Cold Bay Airport': 'CDB',
'Tulsa International Airport': 'TUL',
'Sitka Rocky Gutierrez Airport': 'SIT',
'Long Island Mac Arthur Airport': 'ISP',
'Minneapolis-St Paul International/Wold-Chamberlain Airport': 'MSP',
'New Castle Airport': 'ILG',
'Unalaska Airport': 'DUT',
'Louis Armstrong New Orleans International Airport': 'MSY',
'Portland International Jetport Airport': 'PWM',
'Will Rogers World Airport': 'OKC',
'Albany International Airport': 'ALB',
'Valdez Pioneer Field': 'VDZ',
'Langley Air Force Base': 'LFI',
'John Wayne Airport-Orange County Airport': 'SNA',
'Columbus Air Force Base': 'CBM',
'Kendall-Tamiami Executive Airport': 'TMB',
'Oceana NAS': 'NTU',
'Grissom Air Reserve Base': 'GUS',
'Casper-Natrona County International Airport': 'CPR',
'Destin-Ft Walton Beach Airport': 'VPS',
'Craig Field': 'SEM',
'Key West International Airport': 'EYW',
'Charlotte Douglas International Airport': 'CLT',
'McCarran International Airport': 'LAS',
'Orlando International Airport': 'MCO',
'Florence Regional Airport': 'FLO',
'Great Falls International Airport': 'GTF',
'Youngstown Warren Regional Airport': 'YNG',
'Ladd AAF Airfield': 'FBK',
'Mc Minnville Municipal Airport': 'MMV',
'Robins Air Force Base': 'WRB',
'Pullman Moscow Regional Airport': 'PUW',
'Lewiston Nez Perce County Airport': 'LWS',
'Elmira Corning Regional Airport': 'ELM',
'Ithaca Tompkins Regional Airport': 'ITH',
'Monterey Peninsula Airport': 'MRY',
'Santa Barbara Municipal Airport': 'SBA',
'Daytona Beach International Airport': 'DAB',
'Talkeetna Airport': 'TKA',
'Tweed New Haven Airport': 'HVN',
'Asheville Regional Airport': 'AVL',
'Piedmont Triad International Airport': 'GSO',
'Joe Foss Field Airport': 'FSD',
'Manchester Airport': 'MHT',
'Naples Municipal Airport': 'APF',
'Louisville International Standiford Field': 'SDF',
'Charlottesville Albemarle Airport': 'CHO',
'Roanoke–Blacksburg Regional Airport': 'ROA',
'Blue Grass Airport': 'LEX',
'Evansville Regional Airport': 'EVV',
'Albuquerque International Sunport Airport': 'ABQ',
'Gallatin Field': 'BZN',
'Billings Logan International Airport': 'BIL',
'Bert Mooney Airport': 'BTM',
'Cherry Capital Airport': 'TVC',
'Hancock County-Bar Harbor Airport': 'BHB',
'Knox County Regional Airport': 'RKD',
'Jackson Hole Airport': 'JAC',
'Chicago Rockford International Airport': 'RFD',
'Greenville Spartanburg International Airport': 'GSP',
'Central Illinois Regional Airport at Bloomington-Normal': 'BMI',
'Gulfport Biloxi International Airport': 'GPT',
'Kalamazoo Battle Creek International Airport': 'AZO',
'Toledo Express Airport': 'TOL',
'Fort Wayne International Airport': 'FWA',
'Decatur Airport': 'DEC',
'The Eastern Iowa Airport': 'CID',
'La Crosse Municipal Airport': 'LSE',
'Central Wisconsin Airport': 'CWA',
'General Wayne A. Downing Peoria International Airport': 'PIA',
'Appleton International Airport': 'ATW',
'Rochester International Airport': 'RST',
'University of Illinois Willard Airport': 'CMI',
'Manhattan Regional Airport': 'MHK',
'Venango Regional Airport': 'FKL',
'Grand Junction Regional Airport': 'GJT',
'St George Municipal Airport': 'SGU',
'David Wayne Hooks Memorial Airport': 'DWH',
"Port O'Connor Private Airport": 'S46',
'Sarasota Bradenton International Airport': 'SRQ',
'Van Nuys Airport': 'VNY',
'Quad City International Airport': 'MLI',
'Panama City-Bay Co International Airport': 'PFN',
'Bismarck Municipal Airport': 'BIS',
'Telluride Regional Airport': 'TEX',
'Rapid City Regional Airport': 'RAP',
'Mc Clellan-Palomar Airport': 'CLD',
'Bishop International Airport': 'FNT',
'Redding Municipal Airport': 'RDD',
'Mahlon Sweet Field': 'EUG',
'Idaho Falls Regional Airport': 'IDA',
'Rogue Valley International Medford Airport': 'MFR',
'Roberts Field': 'RDM',
'Akron Canton Regional Airport': 'CAK',
'Huntsville International Carl T Jones Field': 'HSV',
'Mid Ohio Valley Regional Airport': 'PKB',
'Montgomery Regional (Dannelly Field) Airport': 'MGM',
'Tri Cities Regional Tn Va Airport': 'TRI',
'Barkley Regional Airport': 'PAH',
'Page Municipal Airport': 'PGA',
'Glacier Park International Airport': 'FCA',
'MBS International Airport': 'MBS',
'Greater Binghamton/Edwin A Link field': 'BGM',
'Blythe Airport': 'BLH',
'Petersburg James A Johnson Airport': 'PSG',
'Orlando Sanford International Airport': 'SFB',
'John Murtha Johnstown Cambria County Airport': 'JST',
'Missoula International Airport': 'MSO',
'Grand Canyon National Park Airport': 'GCN',
'Sugar Land Regional Airport': 'SGR',
'Centennial Airport': 'APA',
'Clovis Municipal Airport': 'CVN',
'Fort Stockton Pecos County Airport': 'FST',
'Las Vegas Municipal Airport': 'LVS',
'West Houston Airport': 'IWS',
'La Junta Municipal Airport': 'LHX',
'Las Cruces International Airport': 'LRU',
'Stephens County Airport': 'BKD',
'Draughon Miller Central Texas Regional Airport': 'TPL',
'Ozona Municipal Airport': 'OZA',
'Eagle County Regional Airport': 'EGE',
'Cuyahoga County Airport': 'CGF',
'Mansfield Lahm Regional Airport': 'MFD',
'Columbus Metropolitan Airport': 'CSG',
'Lawton Fort Sill Regional Airport': 'LAW',
'Fort Collins Loveland Municipal Airport': 'FNL',
'Flagstaff Pulliam Airport': 'FLG',
'Lake Tahoe Airport': 'TVL',
'Joslin Field Magic Valley Regional Airport': 'TWF',
"Martha's Vineyard Airport": 'MVY',
'Concord Municipal Airport': 'CON',
'Groton New London Airport': 'GON',
'St Cloud Regional Airport': 'STC',
'Golden Triangle Regional Airport': 'GTR',
'Bowerman Airport': 'HQM',
'Erie International Tom Ridge Field': 'ERI',
'Barnstable Municipal Boardman Polando Field': 'HYA',
'Sedona Airport': 'SDX',
'Morgantown Municipal Walter L. Bill Hart Field': 'MGW',
'Yeager Airport': 'CRW',
'Wilkes Barre Scranton International Airport': 'AVP',
'Bemidji Regional Airport': 'BJI',
'Hector International Airport': 'FAR',
'Charles B. Wheeler Downtown Airport': 'MKC',
'Gillette Campbell County Airport': 'GCC',
'University Park Airport': 'SCE',
'Key Field': 'MEI',
'Abraham Lincoln Capital Airport': 'SPI',
'Cortez Municipal Airport': 'CEZ',
'Yampa Valley Airport': 'HDN',
'Gallup Municipal Airport': 'GUP',
'Liberal Mid-America Regional Airport': 'LBL',
'Lamar Municipal Airport': 'LAA',
'Renner Field-Goodland Municipal Airport': 'GLD',
'Yellowstone Regional Airport': 'COD',
'Springfield Branson National Airport': 'SGF',
'Joplin Regional Airport': 'JLN',
'Lehigh Valley International Airport': 'ABE',
'Northwest Arkansas Regional Airport': 'XNA',
'South Bend Regional Airport': 'SBN',
'Smith Field': 'SMD',
'Arcata Airport': 'ACV',
'Albert J Ellis Airport': 'OAJ',
'Tuscaloosa Regional Airport': 'TCL',
'Dubuque Regional Airport': 'DBQ',
'Aberdeen Regional Airport': 'ABR',
'Southwest Georgia Regional Airport': 'ABY',
'Athens Ben Epps Airport': 'AHN',
'Alamogordo White Sands Regional Airport': 'ALM',
'Waterloo Regional Airport': 'ALO',
'Walla Walla Regional Airport': 'ALW',
'Alpena County Regional Airport': 'APN',
'Watertown Regional Airport': 'ATY',
'Bradford Regional Airport': 'BFD',
'Western Neb. Rgnl/William B. Heilig Airport': 'BFF',
'Raleigh County Memorial Airport': 'BKW',
'Brunswick Golden Isles Airport': 'BQK',
'Southeast Iowa Regional Airport': 'BRL',
'Jack Mc Namara Field Airport': 'CEC',
'Cape Girardeau Regional Airport': 'CGI',
'Chippewa County International Airport': 'CIU',
'North Central West Virginia Airport': 'CKB',
'William R Fairchild International Airport': 'CLM',
'Houghton County Memorial Airport': 'CMX',
'Dodge City Regional Airport': 'DDC',
'DuBois Regional Airport': 'DUJ',
'Chippewa Valley Regional Airport': 'EAU',
'Elko Regional Airport': 'EKO',
'New Bedford Regional Airport': 'EWB',
'Fayetteville Regional Grannis Field': 'FAY',
'Wokal Field Glasgow International Airport': 'GGW',
'Central Nebraska Regional Airport': 'GRI',
'Memorial Field': 'HOT',
'Tri-State/Milton J. Ferguson Field': 'HTS',
'Kirksville Regional Airport': 'IRK',
'Jamestown Regional Airport': 'JMS',
'Laramie Regional Airport': 'LAR',
'Arnold Palmer Regional Airport': 'LBE',
'North Platte Regional Airport Lee Bird Field': 'LBF',
'Lebanon Municipal Airport': 'LEB',
'Klamath Falls Airport': 'LMT',
'Lancaster Airport': 'LNS',
'Lewistown Municipal Airport': 'LWT',
'Lynchburg Regional Preston Glenn Field': 'LYH',
'Muskegon County Airport': 'MKG',
'Frank Wiley Field': 'MLS',
'Northwest Alabama Regional Airport': 'MSL',
'Southwest Oregon Regional Airport': 'OTH',
'Owensboro Daviess County Airport': 'OWB',
'Hattiesburg Laurel Regional Airport': 'PIB',
'Pocatello Regional Airport': 'PIH',
'Pierre Regional Airport': 'PIR',
'Pellston Regional Airport of Emmet County Airport': 'PLN',
'Portsmouth International at Pease Airport': 'PSM',
'Reading Regional Carl A Spaatz Field': 'RDG',
'Rhinelander Oneida County Airport': 'RHI',
'Rock Springs Sweetwater County Airport': 'RKS',
'Rutland - Southern Vermont Regional Airport': 'RUT',
'San Luis County Regional Airport': 'SBP',
'Sheridan County Airport': 'SHR',
'Adirondack Regional Airport': 'SLK',
'Salina Municipal Airport': 'SLN',
'Santa Maria Pub/Capt G Allan Hancock Field': 'SMX',
'Tupelo Regional Airport': 'TUP',
'Quincy Regional Baldwin Field': 'UIN',
'Victoria Regional Airport': 'VCT',
'Valdosta Regional Airport': 'VLD',
'Worland Municipal Airport': 'WRL',
'Yakima Air Terminal McAllister Field': 'YKM',
'Adak Airport': 'ADK',
'Gustavus Airport': 'GST',
'Skagway Airport': 'SGY',
'Holy Cross Airport': 'HCR',
'Haines Airport': 'HNS',
'Kalskag Airport': 'KLG',
'McGrath Airport': 'MCG',
'Mountain Village Airport': 'MOU',
'Aniak Airport': 'ANI',
'Chevak Airport': 'VAK',
'Wrangell Airport': 'WRG',
'Kalaupapa Airport': 'LUP',
'Aleknagik / New Airport': 'WKK',
'Mercer County Airport': 'BLF',
'Mid Delta Regional Airport': 'GLH',
'Tri Cities Airport': 'CZG',
'Akutan Seaplane Base': 'KQA',
'Lopez Island Airport': 'LPS',
'Waikoloa Heliport': 'WKL',
'Worcester Regional Airport': 'ORH',
'Bremerton National Airport': 'PWT',
'Spencer Municipal Airport': 'SPW',
'Jefferson City Memorial Airport': 'JEF',
'Provincetown Municipal Airport': 'PVC',
'Fullerton Municipal Airport': 'FUL',
'Friedman Memorial Airport': 'SUN',
'Mason City Municipal Airport': 'MCW',
'Phoenix-Mesa-Gateway Airport': 'AZA',
'Anaktuvuk Pass Airport': 'AKP',
'Anvik Airport': 'ANV',
'Atqasuk Edward Burnell Sr Memorial Airport': 'ATK',
'Gambell Airport': 'GAM',
'Hooper Bay Airport': 'HPB',
'Kaltag Airport': 'KAL',
"St Mary's Airport": 'KSM',
'Kivalina Airport': 'KVL',
'Mekoryuk Airport': 'MYU',
'Ruby Airport': 'RBY',
'Shishmaref Airport': 'SHH',
'Savoonga Airport': 'SVA',
'Noatak Airport': 'WTK',
'Arctic Village Airport': 'ARC',
'Hagerstown Regional Richard A Henson Field': 'HGR',
'Sand Point Airport': 'SDP',
'Deering Airport': 'DRG',
'Igiugig Airport': 'IGG',
'New Stuyahok Airport': 'KNW',
'King Cove Airport': 'KVC',
'Port Heiden Airport': 'PTH',
'Togiak Airport': 'TOG',
'Delta County Airport': 'ESC',
'Yakutat Airport': 'YAK',
'Williamson County Regional Airport': 'MWA',
'Ford Airport': 'IMT',
'Allakaket Airport': 'AET',
'Michigan City Municipal Airport': 'MGC',
'Seward Airport': 'SWD',
'Grand Marais Cook County Airport': 'GRM',
'Wausau Downtown Airport': 'AUW',
'Delaware County Johnson Field': 'MIE',
'Purdue University Airport': 'LAF',
'North Las Vegas Airport': 'VGT',
'Kenosha Regional Airport': 'ENW',
'Montrose Regional Airport': 'MTJ',
'Riverton Regional Airport': 'RIW',
'Eastern Oregon Regional At Pendleton Airport': 'PDT',
'Wittman Regional Airport': 'OSH',
'Pangborn Memorial Airport': 'EAT',
'Gary Chicago International Airport': 'GYY',
'Brainerd Lakes Regional Airport': 'BRD',
'Greenbrier Valley Airport': 'LWB',
'Pitt Greenville Airport': 'PGV',
'Chefornak Airport': 'CYF',
'Oxnard Airport': 'OXR',
'Schenectady County Airport': 'SCH',
'Northeast Florida Regional Airport': 'UST',
'Charles M. Schulz Sonoma County Airport': 'STS',
'Kissimmee Gateway Airport': 'ISM',
'Lake City Gateway Airport': 'LCQ',
'Logan-Cache Airport': 'LGU',
'Brigham City Airport': 'BMC',
'Malad City Airport': 'MLD',
'Aspen-Pitkin Co/Sardy Field': 'ASE',
'Kerrville Municipal Louis Schreiner Field': 'ERV',
'Sussex County Airport': 'GED',
'Great Bend Municipal Airport': 'GBN',
'Hays Regional Airport': 'HYS',
'Spirit of St Louis Airport': 'SUS',
'Ely Municipal Airport': 'LYU',
'Grand Rapids Itasca Co-Gordon Newstrom field': 'GPZ',
'Thief River Falls Regional Airport': 'TVF',
'Eagle River Union Airport': 'EGV',
'Lakeland-Noble F. Lee Memorial field': 'ARV',
'Ankeny Regional Airport': 'IKV',
'Corpus Christi Naval Air Station/Truax Field': 'NGP',
'Catalina Airport': 'AVX',
'Mojave Airport': 'MHV',
'Hutchinson Municipal Airport': 'HUT',
'Rosecrans Memorial Airport': 'STJ',
'Volk Field': 'VOK',
'Gunnison Crested Butte Regional Airport': 'GUC',
'Zamperini Field': 'TOA',
'Manistee Co Blacker Airport': 'MBL',
'Charlotte County Airport': 'PGD',
'Northern Aroostook Regional Airport': 'WFK',
'Chautauqua County-Jamestown Airport': 'JHW',
'Lake Cumberland Regional Airport': 'SME',
'Shenandoah Valley Regional Airport': 'SHD',
'Devils Lake Regional Airport': 'DVL',
'Dickinson Theodore Roosevelt Regional Airport': 'DIK',
'Sidney Richland Municipal Airport': 'SDY',
'Chadron Municipal Airport': 'CDR',
'Alliance Municipal Airport': 'AIA',
'Mc Cook Ben Nelson Regional Airport': 'MCK',
'The Florida Keys Marathon Airport': 'MTH',
'Dawson Community Airport': 'GDV',
'L M Clayton Airport': 'OLF',
'Yellowstone Airport': 'WYS',
'San Luis Valley Regional Bergman Field': 'ALS',
'Canyonlands Field': 'CNY',
'Ely Airport Yelland Field': 'ELY',
'Vernal Regional Airport': 'VEL',
'Sierra Blanca Regional Airport': 'SRR',
'Show Low Regional Airport': 'SOW',
'McCall Municipal Airport': 'MYL',
'Lemhi County Airport': 'SMN',
'Mammoth Yosemite Airport': 'MMH',
'Friday Harbor Airport': 'FRD',
'Orcas Island Airport': 'ESD',
'Astoria Regional Airport': 'AST',
'Newport Municipal Airport': 'ONP',
'Emmonak Airport': 'EMK',
'Unalakleet Airport': 'UNK',
'Ugnu-Kuparuk Airport': 'UUK',
'Shageluk Airport': 'SHX',
'Nuiqsut Airport': 'NUI',
'Eek Airport': 'EEK',
'Kasigluk Airport': 'KUK',
'Kwethluk Airport': 'KWT',
'Kwigillingok Airport': 'KWK',
'Marshall Don Hunter Sr Airport': 'MLL',
'Russian Mission Airport': 'RSH',
'Koliganek Airport': 'KGK',
'Manokotak Airport': 'KMO',
'Chalkyitsik Airport': 'CIK',
'Eagle Airport': 'EAA',
'Hughes Airport': 'HUS',
'Huslia Airport': 'HSL',
'Nulato Airport': 'NUL',
'Venetie Airport': 'VEE',
'Beaver Airport': 'WBQ',
'Central Airport': 'CEM',
'Shungnak Airport': 'SHG',
'Inyokern Airport': 'IYK',
'Visalia Municipal Airport': 'VIS',
'Merced Regional Macready Field': 'MCE',
'Angoon Seaplane Base': 'AGN',
'Elfin Cove Seaplane Base': 'ELV',
'Funter Bay Seaplane Base': 'FNR',
'Hoonah Airport': 'HNH',
'Kake Airport': 'AFE',
'Metlakatla Seaplane Base': 'MTM',
'Hydaburg Seaplane Base': 'HYG',
'Egegik Airport': 'EGX',
'Perryville Airport': 'KPV',
'Pilot Point Airport': 'PIP',
'South Naknek Nr 2 Airport': 'WSN',
'Akhiok Airport': 'AKK',
'Karluk Airport': 'KYK',
'Larsen Bay Airport': 'KLN',
'Ambler Airport': 'ABL',
'Buckland Airport': 'BKC',
'Bob Baker Memorial Airport': 'IAN',
'Kobuk Airport': 'OBU',
'Robert (Bob) Curtis Memorial Airport': 'ORV',
'Selawik Airport': 'WLK',
'Brevig Mission Airport': 'KTS',
'Elim Airport': 'ELI',
'Golovin Airport': 'GLV',
'Teller Airport': 'TLA',
'Wales Airport': 'WAA',
'White Mountain Airport': 'WMO',
'Koyuk Alfred Adams Airport': 'KKA',
'St Michael Airport': 'SMK',
'Shaktoolik Airport': 'SKK',
'Tin City Long Range Radar Station Airport': 'TNC',
'Atka Airport': 'AKB',
'Yakataga Airport': 'CYT',
'Alakanuk Airport': 'AUK',
'Kipnuk Airport': 'KPN',
'False Pass Airport': 'KFP',
'Nelson Lagoon Airport': 'NLG',
'Port Moller Airport': 'PML',
'Klawock Airport': 'KLW',
'Quinhagak Airport': 'KWN',
'Kotlik Airport': 'KOT',
'Koyukuk Airport': 'KYU',
'Scammon Bay Airport': 'SCM',
'Nondalton Airport': 'NNL',
'Kongiganak Airport': 'KKH',
'Nikolai Airport': 'NIB',
'Akiak Airport': 'AKI',
'Wainwright Airport': 'AIN',
'Chenega Bay Airport': 'NCN',
'Tok Junction Airport': 'TKJ',
'Circle City /New/ Airport': 'IRC',
'Sleetmute Airport': 'SLQ',
'Healy River Airport': 'HKB',
'Klawock Seaplane Base': 'AQC',
'Minchumina Airport': 'MHM',
'Manley Hot Springs Airport': 'MLY',
'Eastern WV Regional Airport/Shepherd Field': 'MRB',
'Rock Hill - York County Airport': 'RKH',
'Allegheny County Airport': 'AGC',
'Fulton County Airport Brown Field': 'FTY',
'Ohio State University Airport': 'OSU',
'Addison Airport': 'ADS',
'Destin Executive Airport': 'DTS',
'Kinston Regional Jetport At Stallings Field': 'ISO',
'First Flight Airport': 'FFA',
'Provo Municipal Airport': 'PVU',
'Steamboat Springs Bob Adams Field': 'SBS',
'Delta Municipal Airport': 'DTA',
'Richfield Municipal Airport': 'RIF',
'Carbon County Regional/Buck Davis Field': 'PUC',
'Los Alamos Airport': 'LAM',
'Lake Havasu City Airport': 'HII',
'Winslow Lindbergh Regional Airport': 'INW',
'Douglas Municipal Airport': 'DQH',
'Bartow Municipal Airport': 'BOW',
'Livermore Municipal Airport': 'LVK',
'Mariposa Yosemite Airport': 'RMY',
'Jacqueline Cochran Regional Airport': 'TRM',
'Santa Monica Municipal Airport': 'SMO',
'Bermuda Dunes Airport': 'UDD',
'Scottsdale Airport': 'ZSY',
'Olympia Regional Airport': 'OLM',
'Yolo County Davis Woodland Winters Airport': 'DWA',
'Garfield County Regional Airport': 'RIL',
'Shively Field': 'SAA',
'DeKalb Peachtree Airport': 'PDK',
'Monroe County Airport': 'BMG',
'Witham Field': 'SUA',
'Morristown Municipal Airport': 'MMU',
'Napa County Airport': 'APC',
'Brown Field Municipal Airport': 'SDM',
'Venice Municipal Airport': 'VNC',
'Palm Beach County Glades Airport': 'PHK',
'Northwest Florida Beaches International Airport': 'ECP',
'San Bernardino International Airport': 'SBD',
'San Carlos Airport': 'SQL',
'Rocky Mount Wilson Regional Airport': 'RWI',
'Soldotna Airport': 'SXQ',
'Gillespie Field': 'SEE',
'Truckee Tahoe Airport': 'TKF',
'Cobb County-Mc Collum Field': 'RYY',
'Dell Flight Strip': '4U9',
'Mission Field': 'LVM',
'Big Timber Airport': '6S0',
'Tulip City Airport': 'BIV',
'Lakeland Linder Regional Airport': 'LAL',
'Indianola Municipal Airport': 'IDL',
'French Valley Airport': 'RBK',
'Carl R Keller Field': 'PCW',
'Dayton-Wright Brothers Airport': 'MGY',
'Richmond Municipal Airport': 'RID',
'Findlay Airport': 'FDY',
'Black Hills Airport-Clyde Ice Field': 'SPF',
'Olive Branch Airport': 'OLV',
'Rocky Mountain Metropolitan Airport': 'BJC',
'Salem Municipal Airport/McNary Field': 'SLE',
'Tunica Municipal Airport': 'UTM',
'Lawrence J Timmerman Airport': 'MWC',
'Southern Wisconsin Regional Airport': 'JVL',
'Arlington Municipal Airport': 'AWO',
'Gwinnett County Briscoe Field': 'LZU',
'Bowling Green Warren County Regional Airport': 'BWG',
'Richard Lloyd Jones Jr Airport': 'RVS',
'Bryce Canyon Airport': 'BCE',
'New Century Aircenter Airport': 'JCI',
'Easton Newnam Field': 'ESN',
'Yuba County Airport': 'MYV',
'Halliburton Field': 'DUC',
'Garner Field': 'UVA',
'Lewis University Airport': 'LOT',
'Buchanan Field': 'CCR',
'Ocean Reef Club Airport': 'OCA',
'Springfield-Beckley Municipal Airport': 'SGH',
'Philip Billard Municipal Airport': 'TOP',
'Collin County Regional At Mc Kinney Airport': 'TKI',
'Chicago Executive Airport': 'PWK',
'Southwest Washington Regional Airport': 'KLS',
'Wilmington Airpark': 'ILN',
'Marana Regional Airport': 'AVW',
'Casa Grande Municipal Airport': 'CGZ',
'Buckeye Municipal Airport': 'BXK',
'Gila Bend Municipal Airport': 'E63',
'McMinn County Airport': 'MMI',
'Sterling Municipal Airport': 'STK',
'Rawlins Municipal Airport/Harvey Field': 'RWL',
'Essex County Airport': 'CDW',
'Lee C Fine Memorial Airport': 'AIZ',
'Thomasville Regional Airport': 'TVI',
'Henderson Executive Airport': 'HSH',
'Henry Tift Myers Airport': 'TMA',
'Phoenix Deer Valley Airport': 'DVT',
'South Texas Regional Airport at Hondo': 'HDO',
'McKinley National Park Airport': 'MCL',
'Lake Hood Seaplane Base': 'LHD',
'Prospect Creek Airport': 'PPC',
'Wheeling Ohio County Airport': 'HLG',
'Fitzgerald Municipal Airport': 'FZG',
'Aransas County Airport': 'RKP',
'Crisp County Cordele Airport': 'CKF',
'Ormond Beach Municipal Airport': 'OMN',
'Portland Troutdale Airport': 'TTD',
'Portland Hillsboro Airport': 'HIO',
'Montgomery County Airpark': 'GAI',
'Charlevoix Municipal Airport': 'CVX',
'Flagler County Airport': 'XFL',
'Morrisville Stowe State Airport': 'MVL',
'Dallas Executive Airport': 'RBD',
'Westerly State Airport': 'WST',
'Block Island State Airport': 'BID',
'Nightmute Airport': 'NME',
'Toksook Bay Airport': 'OOK',
'Decatur County Industrial Air Park': 'BGE',
'Silver Springs Airport': 'SPZ',
'Whiteman Airport': 'WHP',
'Madera Municipal Airport': 'MAE',
'Apalachicola Regional Airport': 'AAF',
'St Lucie County International Airport': 'FRP',
'Taunton Municipal King Field': 'TAN',
'Plymouth Municipal Airport': 'PYM',
'Quonset State Airport': 'OQU',
'Norwood Memorial Airport': 'OWD',
'Barnes Municipal Airport': 'BAF',
'Windham Airport': 'IJD',
'Orange County Airport': 'MGJ',
'Marshfield Municipal George Harlow Field': 'GHG',
'Danbury Municipal Airport': 'DXR',
'Boire Field': 'ASH',
'Lawrence Municipal Airport': 'LWC',
'Waterbury Oxford Airport': 'OXC',
'Fitchburg Municipal Airport': 'FIT',
...}
dedges=[]
for i in range(len(routes_df)):
x=routes_df.iloc[i]["Source"]
y=routes_df.iloc[i]["Destination"]
z=routes_df.iloc[i]["Airline"]
dedges.append((airports_d[x],airports_d[y],acodes_d[z]))
G=nx.DiGraph()
for k in dedges:
G.add_edge(k[0],k[1],airline=k[2])
print("No. of nodes of the %s is %i and no. of edges is %i" %(title,len(G),len(G.edges)))
No. of nodes of the USA Flights Graph is 546 and no. of edges is 5439
def hvnx_plot(G,ctype,pos,width,height,node_size,node_cmap,edge_color,edge_line_width,
title,bundled,nodelabels,xoffset,yoffset,
arrowhead_length,selection_mode,selection_policy,
edge_hover_line_color,node_hover_fill_color,
fontsize,text_font_size, text_color,bgcolor):
if nx.is_directed(G)==True:
arriving_airlines={}
for n in G.nodes():
t=[]
for e in G.edges(data=True):
if n==e[1]:
if e[2]["airline"] not in t:
t.append(e[2]["airline"])
arriving_airlines[n]=", ".join(sorted([acodes_i_d[x] for x in sorted(t)]))
departing_airlines={}
for n in G.nodes():
t=[]
for e in G.edges(data=True):
if n==e[0]:
if e[2]["airline"] not in t:
t.append(e[2]["airline"])
departing_airlines[n]=", ".join(sorted([acodes_i_d[x] for x in sorted(t)]))
arriving_flights={}
for n in G.nodes():
t=list(G.predecessors(n))
arriving_flights[n]=", ".join(sorted([airports_i_d[x] for x in t]))
departing_flights={}
for n in G.nodes():
t=list(G.successors(n))
departing_flights[n]=", ".join(sorted([airports_i_d[x] for x in t]))
if ctype==1:
communities_generator = community.girvan_newman(G)
top_level_communities = next(communities_generator)
next_level_communities = next(communities_generator)
lc=sorted(sorted(map(sorted, next_level_communities)), key=len,reverse=True)
partition={n:i for i,c in enumerate(lc) for n in c }
print("No. of Girvan-Newman communities",len(set(partition.values())))
for n in G.nodes():
G.nodes[n]['Girvan_Newman_community'] = partition[n]
if (n,n) in G.edges():
G.nodes[n]['in-degree'] = 0
G.nodes[n]['in-neighbors'] = ""
G.nodes[n]['out-degree'] = 0
G.nodes[n]['out-neighbors'] = ""
else:
G.nodes[n]['in-degree'] = G.in_degree(n)
G.nodes[n]['arriving flights from airports'] = arriving_flights[n]
G.nodes[n]['arriving airlines'] = arriving_airlines[n]
G.nodes[n]['out-degree'] = G.out_degree(n)
G.nodes[n]['departing flights to airports'] = departing_flights[n]
G.nodes[n]['departing airlines'] = departing_airlines[n]
graph = hvnx.draw(G, pos)
graph.opts(edge_color=edge_color,edge_line_width=edge_line_width,node_size=node_size,node_color='Girvan_Newman_community',node_cmap=node_cmap)
if bundled==0:
graph.opts(selection_policy=selection_policy,title=title,edge_hover_line_color=edge_hover_line_color,node_hover_fill_color=node_hover_fill_color,fontsize=fontsize,width=width,height=height,arrowhead_length=arrowhead_length) #,tools=tools) #,'box_zoom',"tap"])
if nodelabels==1:
labels = hv.Labels(graph.nodes, ['x', 'y'], 'index')
graph=(graph * labels.opts(xoffset=xoffset, yoffset=yoffset,text_font_size=text_font_size, text_color=text_color, bgcolor=bgcolor))
return graph
else:
return graph
else:
graph = bundle_graph(graph)
graph.opts(selection_policy=selection_policy,title=title,edge_hover_line_color=edge_hover_line_color,node_hover_fill_color=node_hover_fill_color,fontsize=fontsize,width=width,height=height,arrowhead_length=arrowhead_length) #,tools=tools) #,'box_zoom',"tap"])
if nodelabels==1:
labels = hv.Labels(graph.nodes, ['x', 'y'], 'index')
graph=(graph * labels.opts(xoffset=xoffset, yoffset=yoffset,text_font_size=text_font_size, text_color=text_color, bgcolor=bgcolor))
return graph
else:
return graph
if ctype==0:
print("Louvain communities are not computable for directed graphs!")
else:
connections={}
for n in G.nodes():
if n in acodes_d.values():
t=list(G.neighbors(n))
connections[n]=", ".join(sorted([airports_i_d[x] for x in t]))
if n in airports_d.values():
t=list(G.neighbors(n))
connections[n]=", ".join(sorted([acodes_i_d[x] for x in t]))
if ctype==1:
communities_generator = community.girvan_newman(G)
top_level_communities = next(communities_generator)
next_level_communities = next(communities_generator)
lc=sorted(sorted(map(sorted, next_level_communities)), key=len,reverse=True)
partition={n:i for i,c in enumerate(lc) for n in c }
print("No. of Girvan-Newman communities",len(set(partition.values())))
for n in G.nodes():
G.nodes[n]['Girvan_Newman_community'] = partition[n]
if (n,n) in G.edges():
G.nodes[n]['degree'] = 0
G.nodes[n]['connections'] = ""
else:
G.nodes[n]['degree'] = G.degree(n)
G.nodes[n]['connections'] = connections[n] #", ".join([str(x) for x in list(G.neighbors(n))])
graph = hvnx.draw(G, pos)
graph.opts(edge_color=edge_color,edge_line_width=edge_line_width,node_size=node_size,node_color='Girvan_Newman_community',node_cmap=node_cmap)
graph.opts(padding=0.15)
if bundled==0:
graph.opts(selection_policy=selection_policy,title=title,edge_hover_line_color=edge_hover_line_color,node_hover_fill_color=node_hover_fill_color,fontsize=fontsize,width=width,height=height,arrowhead_length=arrowhead_length) #,tools=tools) #,'box_zoom',"tap"])
if nodelabels==1:
labels = hv.Labels(graph.nodes, ['x', 'y'], 'index')
graph=(graph * labels.opts(xoffset=xoffset, yoffset=yoffset,text_font_size=text_font_size, text_color=text_color, bgcolor=bgcolor))
return graph
else:
return graph
else:
graph = bundle_graph(graph)
graph.opts(selection_policy=selection_policy,title=title,edge_hover_line_color=edge_hover_line_color,node_hover_fill_color=node_hover_fill_color,fontsize=fontsize,width=width,height=height,arrowhead_length=arrowhead_length) #,tools=tools) #,'box_zoom',"tap"])
if nodelabels==1:
labels = hv.Labels(graph.nodes, ['x', 'y'], 'index')
graph=(graph * labels.opts(xoffset=xoffset, yoffset=yoffset,text_font_size=text_font_size, text_color=text_color, bgcolor=bgcolor))
return graph
else:
return graph
if ctype==0:
partition=louvain.best_partition(G)
print("No. of Louvain communities",len(set(partition.values())))
for n in G.nodes():
G.nodes[n]['Louvain_community'] = partition[n]
if (n,n) in G.edges():
G.nodes[n]['degree'] = 0
G.nodes[n]['connections'] = ""
else:
G.nodes[n]['degree'] = G.degree(n)
G.nodes[n]['connections'] = connections[n] #", ".join([str(x) for x in list(G.neighbors(n))]) #connections
graph = hvnx.draw(G, pos)
graph.opts(edge_color=edge_color,edge_line_width=edge_line_width,node_size=node_size,node_color="Louvain_community",node_cmap=node_cmap)
graph.opts(padding=0.15)
if bundled==0:
graph.opts(selection_policy=selection_policy,title=title,edge_hover_line_color=edge_hover_line_color,node_hover_fill_color=node_hover_fill_color,fontsize=fontsize,width=width,height=height,arrowhead_length=arrowhead_length) #,tools=tools) #,'box_zoom',"tap"])
if nodelabels==1:
labels = hv.Labels(graph.nodes, ['x', 'y'], 'index')
graph=(graph * labels.opts(xoffset=xoffset, yoffset=yoffset,text_font_size=text_font_size, text_color=text_color, bgcolor=bgcolor))
return graph
else:
return graph
else:
graph = bundle_graph(graph)
graph.opts(selection_policy=selection_policy,title=title,edge_hover_line_color=edge_hover_line_color,node_hover_fill_color=node_hover_fill_color,fontsize=fontsize,width=width,height=height,arrowhead_length=arrowhead_length) #,tools=tools) #,'box_zoom',"tap"])
if nodelabels==1:
labels = hv.Labels(graph.nodes, ['x', 'y'], 'index')
graph=(graph * labels.opts(xoffset=xoffset, yoffset=yoffset,text_font_size=text_font_size, text_color=text_color, bgcolor=bgcolor))
return graph
else:
return graph
ctype=1
node_color='Girvan_Newman_community'
bundled=1
nodelabels=0
width=1000
height=1000
pos=graphviz_layout(G)
node_size=3*np.log(5+hv.dim('in-degree'))
node_cmap="tab10"
edge_color='lightgreen'
edge_line_width=1
title=title+" (colored in Girvan-Newman communities)"
arrowhead_length=0.01
selection_mode='nodes'
selection_policy="nodes"
edge_hover_line_color='green'
node_hover_fill_color='red'
fontsize={'title': '9pt'}
text_font_size='4pt' #'8pt'
text_color='black'
bgcolor='white'
xoffset=0
yoffset=-17
hvnx_plot(G,ctype,pos,width,height,node_size,node_cmap,edge_color,edge_line_width,
title,bundled,nodelabels,xoffset,yoffset,
arrowhead_length,selection_mode,selection_policy,
edge_hover_line_color,node_hover_fill_color,
fontsize,text_font_size, text_color,bgcolor)
No. of Girvan-Newman communities 5
ctype=1
node_color='Girvan_Newman_community'
bundled=0
nodelabels=1
width=1000
height=1000
pos=graphviz_layout(G)
node_size=3*np.log(5+hv.dim('in-degree'))
node_cmap="tab10"
edge_color='lightgreen'
edge_line_width=1
title=title #+" (colored in Girvan-Newman communities)"
arrowhead_length=0.01
selection_mode='nodes'
selection_policy="nodes"
edge_hover_line_color='green'
node_hover_fill_color='red'
fontsize={'title': '9pt'}
text_font_size='4pt' #'8pt'
text_color='black'
bgcolor='white'
xoffset=0
yoffset=-17
hvnx_plot(G,ctype,pos,width,height,node_size,node_cmap,edge_color,edge_line_width,
title,bundled,nodelabels,xoffset,yoffset,
arrowhead_length,selection_mode,selection_policy,
edge_hover_line_color,node_hover_fill_color,
fontsize,text_font_size, text_color,bgcolor)
No. of Girvan-Newman communities 5
sorted(G.degree, key=lambda x: x[1], reverse=True)
[('Hartsfield Jackson Atlanta International Airport', 305),
("Chicago O'Hare International Airport", 295),
('Denver International Airport', 293),
('Dallas Fort Worth International Airport', 274),
('Minneapolis-St Paul International/Wold-Chamberlain Airport', 232),
('Detroit Metropolitan Wayne County Airport', 227),
('McCarran International Airport', 226),
('Charlotte Douglas International Airport', 218),
('George Bush Intercontinental Houston Airport', 201),
('Philadelphia International Airport', 173),
('Los Angeles International Airport', 169),
('Ronald Reagan Washington National Airport', 168),
('Salt Lake City International Airport', 167),
('Washington Dulles International Airport', 158),
('Phoenix Sky Harbor International Airport', 154),
('Orlando International Airport', 148),
('Seattle Tacoma International Airport', 147),
('Newark Liberty International Airport', 143),
('General Edward Lawrence Logan International Airport', 140),
('San Francisco International Airport', 140),
('Chicago Midway International Airport', 131),
('La Guardia Airport', 129),
('Baltimore/Washington International Thurgood Marshall Airport', 126),
('Tampa International Airport', 123),
('Fort Lauderdale Hollywood International Airport', 116),
('John F Kennedy International Airport', 114),
('Lambert St Louis International Airport', 111),
('Portland International Airport', 106),
('Cleveland Hopkins International Airport', 106),
('Miami International Airport', 97),
('San Diego International Airport', 97),
('William P Hobby Airport', 94),
('Orlando Sanford International Airport', 94),
('Nashville International Airport', 91),
('Cincinnati Northern Kentucky International Airport', 86),
('Kansas City International Airport', 82),
('Austin Bergstrom International Airport', 77),
('Louis Armstrong New Orleans International Airport', 76),
('Raleigh Durham International Airport', 72),
('Ted Stevens Anchorage International Airport', 68),
('Pittsburgh International Airport', 66),
('Indianapolis International Airport', 64),
('Phoenix-Mesa-Gateway Airport', 64),
('Memphis International Airport', 63),
('Metropolitan Oakland International Airport', 63),
('Southwest Florida International Airport', 62),
('St Petersburg Clearwater International Airport', 62),
('Port Columbus International Airport', 60),
('San Antonio International Airport', 60),
('General Mitchell International Airport', 56),
('Honolulu International Airport', 56),
('Sacramento International Airport', 55),
('Norman Y. Mineta San Jose International Airport', 53),
('Jacksonville International Airport', 48),
('Albuquerque International Sunport Airport', 46),
('Bradley International Airport', 46),
('Louisville International Standiford Field', 45),
('Dallas Love Field', 43),
('Myrtle Beach International Airport', 42),
('Will Rogers World Airport', 42),
('Greenville Spartanburg International Airport', 40),
('Buffalo Niagara International Airport', 40),
('Gerald R. Ford International Airport', 40),
('Kahului Airport', 40),
('Charleston Air Force Base-International Airport', 39),
('Palm Beach International Airport', 38),
('Albany International Airport', 38),
('Birmingham-Shuttlesworth International Airport', 38),
('Eppley Airfield', 38),
('Richmond International Airport', 36),
('Norfolk International Airport', 36),
('Tulsa International Airport', 36),
('John Wayne Airport-Orange County Airport', 35),
('Charlotte County Airport', 35),
('McGhee Tyson Airport', 34),
('Greater Rochester International Airport', 34),
('Des Moines International Airport', 34),
('Theodore Francis Green State Airport', 34),
('Bill & Hillary Clinton National Airport/Adams Field', 33),
('Bethel Airport', 32),
('Boise Air Terminal/Gowen field', 32),
('James M Cox Dayton International Airport', 32),
('Tucson International Airport', 31),
('Fairbanks International Airport', 30),
('Syracuse Hancock International Airport', 30),
('Westchester County Airport', 30),
('Nome Airport', 29),
('Piedmont Triad International Airport', 28),
('Northwest Arkansas Regional Airport', 28),
('Palm Springs International Airport', 28),
('Trenton Mercer Airport', 28),
('Reno Tahoe International Airport', 27),
('Blue Grass Airport', 26),
('Manchester Airport', 26),
('Savannah Hilton Head International Airport', 26),
('Ontario International Airport', 26),
('El Paso International Airport', 25),
('Billings Logan International Airport', 24),
('Bob Hope Airport', 24),
('Long Beach /Daugherty Field/ Airport', 24),
('Ralph Wien Memorial Airport', 23),
('Wichita Mid Continent Airport', 23),
('Pensacola Regional Airport', 22),
('The Eastern Iowa Airport', 22),
('Harrisburg International Airport', 22),
('Akron Canton Regional Airport', 22),
('City of Colorado Springs Municipal Airport', 22),
('Dane County Regional Truax Field', 22),
('Juneau International Airport', 22),
('Fort Wayne International Airport', 20),
('Burlington International Airport', 20),
('Columbia Metropolitan Airport', 20),
('Long Island Mac Arthur Airport', 20),
('Hector International Airport', 20),
('Fresno Yosemite International Airport', 20),
('Quad City International Airport', 20),
('General Wayne A. Downing Peoria International Airport', 20),
('Spokane International Airport', 20),
('Kona International At Keahole Airport', 20),
('Lihue Airport', 20),
('Roanoke–Blacksburg Regional Airport', 18),
('Lehigh Valley International Airport', 18),
('Huntsville International Carl T Jones Field', 18),
('Jackson-Medgar Wiley Evers International Airport', 18),
('Joe Foss Field Airport', 18),
('Springfield Branson National Airport', 18),
('Mahlon Sweet Field', 18),
('South Bend Regional Airport', 18),
('Bellingham International Airport', 18),
('Atlantic City International Airport', 18),
('Key West International Airport', 16),
('Lovell Field', 16),
('Asheville Regional Airport', 16),
('Central Illinois Regional Airport at Bloomington-Normal', 16),
('Bishop International Airport', 16),
('Tri Cities Airport', 16),
('Ketchikan International Airport', 14),
('Tallahassee Regional Airport', 14),
('Portland International Jetport Airport', 14),
('Lubbock Preston Smith International Airport', 14),
('Rapid City Regional Airport', 14),
('Rogue Valley International Medford Airport', 14),
('Appleton International Airport', 14),
('Gallatin Field', 14),
('Great Falls International Airport', 14),
('Missoula International Airport', 14),
('Wiley Post Will Rogers Memorial Airport', 13),
('Aniak Airport', 13),
('Midland International Airport', 13),
('Yeager Airport', 12),
('Capital City Airport', 12),
('Nantucket Memorial Airport', 12),
('Wilkes Barre Scranton International Airport', 12),
('Bangor International Airport', 12),
('Charlottesville Albemarle Airport', 12),
('Sarasota Bradenton International Airport', 12),
('Grand Junction Regional Airport', 12),
('Monterey Peninsula Airport', 12),
('Roberts Field', 12),
('Santa Barbara Municipal Airport', 12),
('New Castle Airport', 12),
('Valley International Airport', 12),
('Edward G. Pitka Sr Airport', 11),
('Rick Husband Amarillo International Airport', 11),
('Gainesville Regional Airport', 10),
('Deadhorse Airport', 10),
('Grand Forks International Airport', 10),
('Meadows Field', 10),
('Wilmington International Airport', 10),
('Mobile Regional Airport', 10),
('Newport News Williamsburg International Airport', 10),
('Destin-Ft Walton Beach Airport', 10),
('Shreveport Regional Airport', 10),
('Elmira Corning Regional Airport', 10),
('Stewart International Airport', 10),
('Northwest Florida Beaches International Airport', 10),
('King Salmon Airport', 10),
('Plattsburgh International Airport', 10),
('Glacier Park International Airport', 10),
('Bismarck Municipal Airport', 10),
('Chicago Rockford International Airport', 10),
('Niagara Falls International Airport', 10),
('Unalakleet Airport', 9),
('Helena Regional Airport', 9),
('Fort Yukon Airport', 8),
('Kalamazoo Battle Creek International Airport', 8),
('Evansville Regional Airport', 8),
('MBS International Airport', 8),
("Martha's Vineyard Airport", 8),
('Baton Rouge Metropolitan, Ryan Field', 8),
('Fayetteville Regional Grannis Field', 8),
('Gulfport Biloxi International Airport', 8),
('Tri-State/Milton J. Ferguson Field', 8),
('Tri Cities Regional Tn Va Airport', 8),
('Austin Straubel International Airport', 8),
('Charles M. Schulz Sonoma County Airport', 8),
('Toledo Express Airport', 8),
('University Park Airport', 8),
('Cold Bay Airport', 8),
('Lewiston Nez Perce County Airport', 8),
('Duluth International Airport', 8),
('Idaho Falls Regional Airport', 8),
('Minot International Airport', 8),
('Youngstown Warren Regional Airport', 8),
('McGrath Airport', 7),
('Koyuk Alfred Adams Airport', 7),
('Wales Airport', 7),
('Corpus Christi International Airport', 7),
('Bettles Airport', 6),
('Quinhagak Airport', 6),
("St Mary's Airport", 6),
('Kalskag Airport', 6),
('Russian Mission Airport', 6),
('Emmonak Airport', 6),
('Elim Airport', 6),
('Huslia Airport', 6),
('Golovin Airport', 6),
('Shaktoolik Airport', 6),
('Brevig Mission Airport', 6),
('Alexandria International Airport', 6),
('Augusta Regional At Bush Field', 6),
('Greater Binghamton/Edwin A Link field', 6),
('Montgomery Regional (Dannelly Field) Airport', 6),
('Albert J Ellis Airport', 6),
('Central Wisconsin Airport', 6),
('Durango La Plata County Airport', 6),
('Central Nebraska Regional Airport', 6),
('Robert Gray Army Air Field Airport', 6),
('Lafayette Regional Airport', 6),
('Laredo International Airport', 6),
('Mc Allen Miller International Airport', 6),
('Monroe Regional Airport', 6),
('Santa Fe Municipal Airport', 6),
('Erie International Tom Ridge Field', 6),
('Ithaca Tompkins Regional Airport', 6),
('Rochester International Airport', 6),
('Cherry Capital Airport', 6),
('San Luis County Regional Airport', 6),
('Casper-Natrona County International Airport', 6),
('Gillette Campbell County Airport', 6),
('Rock Springs Sweetwater County Airport', 6),
('Lincoln Airport', 6),
('Four Corners Regional Airport', 6),
('Pierre Regional Airport', 6),
('Page Municipal Airport', 6),
('Provo Municipal Airport', 6),
('Hilo International Airport', 6),
('Arnold Palmer Regional Airport', 6),
('Cincinnati Municipal Airport Lunken Field', 6),
('Arcata Airport', 6),
('Kodiak Airport', 5),
('Kipnuk Airport', 5),
('Kwigillingok Airport', 5),
('Ruby Airport', 5),
('Kaltag Airport', 5),
('Nulato Airport', 5),
('Allakaket Airport', 5),
('New Bedford Regional Airport', 5),
('Barnstable Municipal Boardman Polando Field', 5),
('North Central West Virginia Airport', 5),
('Lanai Airport', 5),
('Molokai Airport', 5),
('South Arkansas Regional At Goodwin Field', 5),
('Southeast Iowa Regional Airport', 4),
('Decatur Airport', 4),
('Greenbrier Valley Airport', 4),
('Middle Georgia Regional Airport', 4),
('Tupelo Regional Airport', 4),
('Anaktuvuk Pass Airport', 4),
('Chalkyitsik Airport', 4),
('Eek Airport', 4),
('Chefornak Airport', 4),
('Kongiganak Airport', 4),
('Ambler Airport', 4),
('Wainwright Airport', 4),
('Atqasuk Edward Burnell Sr Memorial Airport', 4),
('Merle K (Mudhole) Smith Airport', 4),
('Holy Cross Airport', 4),
('Hooper Bay Airport', 4),
('Chevak Airport', 4),
('Buckland Airport', 4),
('Deering Airport', 4),
('Nuiqsut Airport', 4),
('Barter Island LRRS Airport', 4),
('Kotlik Airport', 4),
('Gambell Airport', 4),
('Savoonga Airport', 4),
('White Mountain Airport', 4),
('Koyukuk Airport', 4),
('Bob Baker Memorial Airport', 4),
('Robert (Bob) Curtis Memorial Airport', 4),
('Teller Airport', 4),
('Shishmaref Airport', 4),
('Venetie Airport', 4),
('Lebanon Municipal Airport', 4),
('Owensboro Daviess County Airport', 4),
('Watertown International Airport', 4),
('Brownsville South Padre Island International Airport', 4),
('Easterwood Field', 4),
('Daytona Beach International Airport', 4),
('Coastal Carolina Regional Airport', 4),
('Hilton Head Airport', 4),
('Melbourne International Airport', 4),
('Salisbury Ocean City Wicomico Regional Airport', 4),
('University of Illinois Willard Airport', 4),
('Columbia Regional Airport', 4),
('Fort Smith Regional Airport', 4),
('Lake Charles Regional Airport', 4),
('Manhattan Regional Airport', 4),
('Abraham Lincoln Capital Airport', 4),
('Tyler Pounds Regional Airport', 4),
('La Crosse Municipal Airport', 4),
('Sawyer International Airport', 4),
('Yuma MCAS/Yuma International Airport', 4),
('Dillingham Airport', 4),
('St Paul Island Airport', 4),
('St George Airport', 4),
('Yakutat Airport', 4),
('Petersburg James A Johnson Airport', 4),
('Sitka Rocky Gutierrez Airport', 4),
('Wrangell Airport', 4),
('Pullman Moscow Regional Airport', 4),
('Worcester Regional Airport', 4),
('Alpena County Regional Airport', 4),
('Brainerd Lakes Regional Airport', 4),
('Falls International Airport', 4),
('Yellowstone Regional Airport', 4),
('Dickinson Theodore Roosevelt Regional Airport', 4),
('Ford Airport', 4),
('Rhinelander Oneida County Airport', 4),
('Sloulin Field International Airport', 4),
('Jackson Hole Airport', 4),
('St George Municipal Airport', 4),
('San Luis Valley Regional Bergman Field', 4),
('Watertown Regional Airport', 4),
('Cheyenne Regional Jerry Olson Field', 4),
('Dodge City Regional Airport', 4),
('Liberal Mid-America Regional Airport', 4),
('Show Low Regional Airport', 4),
('St Cloud Regional Airport', 4),
('Hagerstown Regional Richard A Henson Field', 4),
('Santa Maria Pub/Capt G Allan Hancock Field', 4),
('Rickenbacker International Airport', 4),
('Unalaska Airport', 4),
('Gustavus Airport', 4),
('Hoonah Airport', 4),
('Haines Airport', 4),
('Skagway Airport', 4),
('Mc Kellar Sipes Regional Airport', 4),
('Imperial County Airport', 4),
('Memorial Field', 4),
('Boone County Airport', 4),
('Southwest Oregon Regional Airport', 4),
('Boeing Field King County International Airport', 4),
('Kapalua Airport', 4),
('Morristown Municipal Airport', 4),
('Jack Mc Namara Field Airport', 4),
('Altoona Blair County Airport', 4),
('John Murtha Johnstown Cambria County Airport', 4),
('Aspen-Pitkin Co/Sardy Field', 4),
('Bradford Regional Airport', 4),
('Chautauqua County-Jamestown Airport', 4),
('Morgantown Municipal Walter L. Bill Hart Field', 4),
('DuBois Regional Airport', 4),
('Venango Regional Airport', 4),
('Klamath Falls Airport', 4),
('Toksook Bay Airport', 3),
('Shungnak Airport', 3),
('Scammon Bay Airport', 3),
('Kivalina Airport', 3),
('Kobuk Airport', 3),
('Noatak Airport', 3),
('Hughes Airport', 3),
('Raleigh County Memorial Airport', 3),
('Shenandoah Valley Regional Airport', 3),
('Larsen Bay Airport', 2),
('Jonesboro Municipal Airport', 2),
('Metlakatla Seaplane Base', 2),
('Key Field', 2),
('Northwest Alabama Regional Airport', 2),
('Hattiesburg Laurel Regional Airport', 2),
('Mid Delta Regional Airport', 2),
('Nikolai Airport', 2),
('Central Airport', 2),
('Circle City /New/ Airport', 2),
('Beaver Airport', 2),
('Kwethluk Airport', 2),
('Marshall Don Hunter Sr Airport', 2),
('Nightmute Airport', 2),
('Napakiak Airport', 2),
('Napaskiak Airport', 2),
('Kenai Municipal Airport', 2),
('Homer Airport', 2),
('Valdez Pioneer Field', 2),
('Shageluk Airport', 2),
('Anvik Airport', 2),
('Alakanuk Airport', 2),
('Point Lay LRRS Airport', 2),
('Mountain Village Airport', 2),
('Togiak Airport', 2),
('Mekoryuk Airport', 2),
('Selawik Airport', 2),
('St Michael Airport', 2),
('Akhiok Airport', 2),
('Tin City Long Range Radar Station Airport', 2),
('Arctic Village Airport', 2),
('Thief River Falls Regional Airport', 2),
('Massena International Richards Field', 2),
('Ogdensburg International Airport', 2),
('Augusta State Airport', 2),
('Hancock County-Bar Harbor Airport', 2),
('Dawson Community Airport', 2),
('Wokal Field Glasgow International Airport', 2),
('Havre City County Airport', 2),
('L M Clayton Airport', 2),
('Sidney Richland Municipal Airport', 2),
('Provincetown Municipal Airport', 2),
('Knox County Regional Airport', 2),
('Rutland - Southern Vermont Regional Airport', 2),
('Adirondack Regional Airport', 2),
('Cape Girardeau Regional Airport', 2),
('Kirksville Regional Airport', 2),
('Williamson County Regional Airport', 2),
('Waynesville-St. Robert Regional Forney field', 2),
('Quincy Regional Baldwin Field', 2),
('Abilene Regional Airport', 2),
('Waco Regional Airport', 2),
('Waterloo Regional Airport', 2),
('Southeast Texas Regional Airport', 2),
('Florence Regional Airport', 2),
('Lynchburg Regional Preston Glenn Field', 2),
('Pitt Greenville Airport', 2),
('Dubuque Regional Airport', 2),
('Garden City Regional Airport', 2),
('East Texas Regional Airport', 2),
('Joplin Regional Airport', 2),
('Lawton Fort Sill Regional Airport', 2),
('Roswell International Air Center Airport', 2),
('San Angelo Regional Mathis Field', 2),
('Sheppard Air Force Base-Wichita Falls Municipal Airport', 2),
('Texarkana Regional Webb Field', 2),
('Flagstaff Pulliam Airport', 2),
('Tweed New Haven Airport', 2),
('Williamsport Regional Airport', 2),
('Mammoth Yosemite Airport', 2),
('Sioux Gateway Col. Bud Day Field', 2),
('Southwest Georgia Regional Airport', 2),
('Brunswick Golden Isles Airport', 2),
('Columbus Metropolitan Airport', 2),
('Dothan Regional Airport', 2),
('Golden Triangle Regional Airport', 2),
('Valdosta Regional Airport', 2),
('Adak Airport', 2),
('Walla Walla Regional Airport', 2),
('Sand Point Airport', 2),
('Northern Maine Regional Airport at Presque Isle', 2),
('Pangborn Memorial Airport', 2),
('Yakima Air Terminal McAllister Field', 2),
('Aberdeen Regional Airport', 2),
('Bemidji Regional Airport', 2),
('Bert Mooney Airport', 2),
('Cedar City Regional Airport', 2),
('Chippewa County International Airport', 2),
('Canyonlands Field', 2),
('Delta County Airport', 2),
('Pellston Regional Airport of Emmet County Airport', 2),
('Elko Regional Airport', 2),
('Range Regional Airport', 2),
('Pocatello Regional Airport', 2),
('Joslin Field Magic Valley Regional Airport', 2),
('Vernal Regional Airport', 2),
('Alliance Municipal Airport', 2),
('Chadron Municipal Airport', 2),
('Worland Municipal Airport', 2),
('Huron Regional Airport', 2),
('Northeast Florida Regional Airport', 2),
('Ogden Hinckley Airport', 2),
('Scott AFB/Midamerica Airport', 2),
('Stockton Metropolitan Airport', 2),
('Portsmouth International at Pease Airport', 2),
('Atka Airport', 2),
('South Naknek Nr 2 Airport', 2),
('False Pass Airport', 2),
('King Cove Airport', 2),
('Nelson Lagoon Airport', 2),
('Akutan Seaplane Base', 2),
('Egegik Airport', 2),
('Klawock Airport', 2),
('Hydaburg Seaplane Base', 2),
('Athens Ben Epps Airport', 2),
('Salina Municipal Airport', 2),
('Eastern Oregon Regional At Pendleton Airport', 2),
('Iliamna Airport', 2),
('Cavern City Air Terminal', 2),
('Los Alamos Airport', 2),
('Lancaster Airport', 2),
('Victoria Regional Airport', 2),
('William R Fairchild International Airport', 2),
('Orcas Island Airport', 2),
('Friday Harbor Airport', 2),
('Hana Airport', 2),
('Waimea Kohala Airport', 2),
('Manistee Co Blacker Airport', 2),
('Healy River Airport', 2),
('Teterboro Airport', 2),
('Chico Municipal Airport', 2),
('Mc Clellan-Palomar Airport', 2),
('Mid Ohio Valley Regional Airport', 2),
('Houghton County Memorial Airport', 2),
('Eagle County Regional Airport', 2),
('Gunnison Crested Butte Regional Airport', 2),
('Yampa Valley Airport', 2),
('Laramie Regional Airport', 2),
('Montrose Regional Airport', 2),
('Pueblo Memorial Airport', 2),
('Chippewa Valley Regional Airport', 2),
('Topeka Regional Airport - Forbes Field', 2),
('Lea County Regional Airport', 2),
('Muskegon County Airport', 2),
('Modesto City Co-Harry Sham Field', 2),
('Barkley Regional Airport', 2),
('Redding Municipal Airport', 2),
('Naples Municipal Airport', 2),
('Grand Canyon National Park Airport', 2),
('Western Neb. Rgnl/William B. Heilig Airport', 2),
('Cortez Municipal Airport', 2),
('North Platte Regional Airport Lee Bird Field', 2),
('Mc Cook Ben Nelson Regional Airport', 2),
('Riverton Regional Airport', 2),
('Sheridan County Airport', 2),
('Merced Regional Macready Field', 2),
('Ernest A. Love Field', 2),
('Visalia Municipal Airport', 2),
('Karluk Airport', 1),
('Tatalina LRRS Airport', 1),
('Manley Hot Springs Airport', 1),
('Platinum Airport', 1),
('Kasigluk Airport', 1),
('Sleetmute Airport', 1),
('Cape Lisburne LRRS Airport', 1),
('Pilot Point Airport', 1),
('Igiugig Airport', 1),
('Perryville Airport', 1),
('Port Heiden Airport', 1),
('Elfin Cove Seaplane Base', 1),
('Angoon Seaplane Base', 1)]
Let $G$ be a graph on a set of nodes $V$ and let $X$ a subset of $V$. Then the networkx command to generate the subgraph of $A$ is $GA = G.subgraph(A)$ https://networkx.org/documentation/stable/reference/classes/generated/networkx.Graph.subgraph.html. For the random selection, you may use $A = random.sample(V, 50)$, where $V = G.nodes()$. Make sure that the (sub)graph $GA$ is not trivial.
A=random.sample(G.nodes(),50)
GA=G.subgraph(A)
print(len(GA),len(GA.edges()))
50 102
ctype=1
node_color='Girvan_Newman_community'
bundled=0
nodelabels=1
width=700
height=700
pos=graphviz_layout(GA)
node_size=10*np.log(5+hv.dim('in-degree'))
node_cmap="tab10"
edge_color='lightgreen'
edge_line_width=1
title="The subgraph of 50 random nodes of the "+title
arrowhead_length=0.02
selection_mode='nodes'
selection_policy="nodes"
edge_hover_line_color='green'
node_hover_fill_color='red'
fontsize={'title': '9pt'}
text_font_size='9pt' #'8pt'
text_color='black'
bgcolor='white'
xoffset=0
yoffset=-17
hvnx_plot(GA,ctype,pos,width,height,node_size,node_cmap,edge_color,edge_line_width,
title,bundled,nodelabels,xoffset,yoffset,
arrowhead_length,selection_mode,selection_policy,
edge_hover_line_color,node_hover_fill_color,
fontsize,text_font_size, text_color,bgcolor)
No. of Girvan-Newman communities 25
If $n0$ is a node in a directed graph $G$, this is how to find the egocentric network centered at $n0$:
(1) First find in_n0 = list(G.predecessors(n0)) and out_n0 = list(G.successors(n0))
(2) Next find all neighbors_n0 = list(set(list(G.predecessors(n0)) + list(G.successors(n0))+[n0]))
(3) Finally get G.subgraph(neighbors_n0)
Do the above for each one of the 3 egos and finally get G.subgraph(list(set(neighbors_n0+neighbors_n1+neghbors_n2)))
# airportslist=['El Paso International Airport','Fairbanks International Airport','Fort Wayne International Airport'] # ADD 3 AIRPORTS IN THIS LIST BUT HAVING LOW NUMBERS OF FLIGHTS!
# YOU NEED TO CHANGE THIS LIST ADDING 3 AIRPORTS IN IT HAVING LOW NUMBERS OF FLIGHTS!
airportslist=['Newport News Williamsburg International Airport','Fairbanks International Airport','Hilo International Airport'] # ADD 3 AIRPORTS IN THIS LIST BUT HAVING LOW NUMBERS OF FLIGHTS!
alle=[]
for a in airportslist:
for b in set(list(G.predecessors(a)) + list(G.successors(a))+[a]):
alle.append(b)
GAA=G.subgraph(alle)
print(len(GAA),len(GAA.edges()))
29 117
ctype=1
node_color='Girvan_Newman_community'
bundled=1
nodelabels=0
width=700
height=700
pos=graphviz_layout(GAA)
node_size=4*np.log(5+hv.dim('in-degree'))
node_cmap="tab10"
edge_color='lightgreen'
edge_line_width=1
title="The subgraph of 3 egocentic networks"
arrowhead_length=0.02
selection_mode='nodes'
selection_policy="nodes"
edge_hover_line_color='green'
node_hover_fill_color='red'
fontsize={'title': '9pt'}
text_font_size='9pt' #'8pt'
text_color='black'
bgcolor='white'
xoffset=0
yoffset=-17
hvnx_plot(GAA,ctype,pos,width,height,node_size,node_cmap,edge_color,edge_line_width,
title,bundled,nodelabels,xoffset,yoffset,
arrowhead_length,selection_mode,selection_policy,
edge_hover_line_color,node_hover_fill_color,
fontsize,text_font_size, text_color,bgcolor)
No. of Girvan-Newman communities 3
bedges=[]
for e in G.edges(data=True):
if (e[0],e[2]['airline']) not in bedges:
bedges.append((e[0],e[2]['airline']))
if (e[1],e[2]['airline']) not in bedges:
bedges.append((e[1],e[2]['airline']))
# print(len(bedges),len(set(bedges)))
H=nx.Graph()
H.add_edges_from(bedges)
title1="Bipartite Graph of USA Airlines vs. Airports"
airlines=[n for n in H.nodes() if n in acodes_d.values()]
airports=[n for n in H.nodes() if n in airports_d.values()]
print("No. of nodes of the %s is %i (%i airlines and %i airports) and no. of edges is %i" %(title1,len(H),len(airlines),len(airports),len(H.edges)))
No. of nodes of the Bipartite Graph of USA Airlines vs. Airports is 595 (49 airlines and 546 airports) and no. of edges is 1415
Ha=H.subgraph(airlines)
Hb=H.subgraph(airports)
posa=nx.circular_layout(Ha)
posb=nx.spring_layout(Hb,0.003)
def re_pos(pos,centre,radius):
plist=[list(v) for v in pos.values()]
nplist=[v for v in pos.values()]
x = [p[0] for p in plist]
y = [p[1] for p in plist]
centroid = (sum(x) / float(len(plist)), sum(y) / float(len(plist)))
ncentroid=np.array(centroid)
rad=max([np.linalg.norm(nplist[i]-ncentroid) for i in range(len(nplist))])
rpos={}
for k,v in pos.items():
rpos[k]=[(v[0]+centre[0])/float(radius),(v[1]+centre[1])/float(radius)]
return rpos
posa=re_pos(posa,[0,0],1)
posb=re_pos(posb,[0,0],1.5)
posBipartite=dict(list(posb.items())+list(posa.items())+[(k,posb[k]+posa[k]) for k in set(posa)&set(posb)])
ctype=1
node_color='Girvan-Newman_community'
bundled=0
nodelabels=1
width=1000
height=1000
pos=posBipartite
node_size=5*np.log(5+hv.dim('degree')) #4*np.log(6+hv.dim('in-degree'))
node_cmap="tab10"
edge_color='olive'
edge_line_width=1
title=title1+" (colored in Girvan-Newman communities)"
arrowhead_length=0.04
selection_mode='nodes'
selection_policy="nodes"
edge_hover_line_color='green'
node_hover_fill_color='red'
fontsize={'title': '9pt'}
text_font_size='4pt'
text_color='black'
bgcolor='white'
xoffset=0
yoffset=-0.03 #-15
hvnx_plot(H,ctype,pos,width,height,node_size,node_cmap,edge_color,edge_line_width,
title,bundled,nodelabels,xoffset,yoffset,
arrowhead_length,selection_mode,selection_policy,
edge_hover_line_color,node_hover_fill_color,
fontsize,text_font_size, text_color,bgcolor)
No. of Girvan-Newman communities 4
ctype=1
node_color='Girvan-Newman_community'
bundled=1
nodelabels=0
width=1000
height=1000
pos=posBipartite
node_size=5*np.log(5+hv.dim('degree')) #4*np.log(6+hv.dim('in-degree'))
node_cmap="tab10"
edge_color='olive'
edge_line_width=1
title=title1 #+" (colored in Girvan-Newman communities)"
arrowhead_length=0.04
selection_mode='nodes'
selection_policy="nodes"
edge_hover_line_color='green'
node_hover_fill_color='red'
fontsize={'title': '9pt'}
text_font_size='4pt'
text_color='black'
bgcolor='white'
xoffset=0
yoffset=-0.03 #-15
hvnx_plot(H,ctype,pos,width,height,node_size,node_cmap,edge_color,edge_line_width,
title,bundled,nodelabels,xoffset,yoffset,
arrowhead_length,selection_mode,selection_policy,
edge_hover_line_color,node_hover_fill_color,
fontsize,text_font_size, text_color,bgcolor)
No. of Girvan-Newman communities 4
ctype=0
node_color='Louvain_community'
bundled=0
nodelabels=1
width=1000
height=1000
pos=posBipartite
node_size=5*np.log(5+hv.dim('degree')) #4*np.log(6+hv.dim('in-degree'))
node_cmap="tab10"
edge_color='olive'
edge_line_width=1
title=title1+" (colored in Louvain communities)"
arrowhead_length=0.04
selection_mode='nodes'
selection_policy="nodes"
edge_hover_line_color='green'
node_hover_fill_color='red'
fontsize={'title': '9pt'}
text_font_size='4pt'
text_color='black'
bgcolor='white'
xoffset=0
yoffset=-0.03 #-15
hvnx_plot(H,ctype,pos,width,height,node_size,node_cmap,edge_color,edge_line_width,
title,bundled,nodelabels,xoffset,yoffset,
arrowhead_length,selection_mode,selection_policy,
edge_hover_line_color,node_hover_fill_color,
fontsize,text_font_size, text_color,bgcolor)
No. of Louvain communities 15
ctype=0
node_color='Louvain_community'
bundled=1
nodelabels=0
width=1000
height=1000
pos=posBipartite
node_size=5*np.log(5+hv.dim('degree')) #4*np.log(6+hv.dim('in-degree'))
node_cmap="tab10"
edge_color='olive'
edge_line_width=1
title=title1 #+" (colored in Louvain communities)"
arrowhead_length=0.04
selection_mode='nodes'
selection_policy="nodes"
edge_hover_line_color='green'
node_hover_fill_color='red'
fontsize={'title': '9pt'}
text_font_size='4pt'
text_color='black'
bgcolor='white'
xoffset=0
yoffset=-0.03 #-15
hvnx_plot(H,ctype,pos,width,height,node_size,node_cmap,edge_color,edge_line_width,
title,bundled,nodelabels,xoffset,yoffset,
arrowhead_length,selection_mode,selection_policy,
edge_hover_line_color,node_hover_fill_color,
fontsize,text_font_size, text_color,bgcolor)
No. of Louvain communities 15
small_airlines = []
for i in sorted(H.degree, key=lambda x: x[1], reverse=True):
if i[0] in airlines:
print(i)
if i[1]<15: # and i[1] > 10:
small_airlines.append(i[0])
('United Airlines', 214)
('US Airways', 207)
('Delta Air Lines', 169)
('Allegiant Air', 90)
('Southwest Airlines', 88)
('KLM Royal Dutch Airlines', 88)
('Alaska Airlines', 69)
('Era Alaska', 54)
('AirTran Airways', 44)
('JetBlue Airways', 32)
('Cape Air', 29)
('Bering Air', 27)
('Great Lakes Airlines', 26)
('Virgin Atlantic Airways', 25)
('Spirit Airlines', 21)
('Frontier Airlines', 21)
('SeaPort Airlines', 21)
('Aero Flight', 20)
('Virgin America', 16)
('Peninsula Airways', 14)
('Wright Air Service', 14)
('Hawaiian Airlines', 12)
('Sun Country Airlines', 10)
('Silver Airways (3M)', 9)
('Pacific Wings', 8)
('Maya Island Air', 8)
('Bambi', 7)
('Airbus France', 7)
('Siberian', 6)
('Public Charters', 6)
('Air Choice One', 5)
('WestJet', 5)
('Island Air (WP)', 4)
('Kenmore Air', 4)
('Island Air Service', 3)
('Atlantic Air Cargo', 3)
('Stabair', 3)
('T.J. Air', 3)
('Alaska Seaplane Service', 3)
('Servant Air', 2)
('Avient Aviation', 2)
('International AirLink', 2)
('40-Mile Air', 2)
('Alaska Central Express', 2)
('Pinnacle Airlines', 2)
('Japan Airlines Domestic', 2)
('Atlantic Air Services', 2)
('SENIC AIRLINES', 2)
('Arkefly', 2)
# AA=A=['Bering Air',
# 'Great Lakes Airlines',
# 'Virgin Atlantic Airways',
# 'Spirit Airlines',
# 'Frontier Airlines',
# 'SeaPort Airlines',
# 'Aero Flight',
# 'Virgin America',
# 'Peninsula Airways',
# 'Wright Air Service']
# YOU NEED TO CHANGE THIS LIST ENTERING 10 OTHER AIRLINES IN IT
# BUT CONSIDER ONLY THOSE AIRLINES HAVING LOW NUMBERS OF FLIGHTS!
# CHECK OUT AIRLINES IN THE PREVIOUS CELL.
AA=random.sample(small_airlines,10)
airports_b = []
for a in AA:
airports_b.extend(list(H.neighbors(a)))
HA=H.subgraph(AA + airports_b)
Gc = max((HA.subgraph(c) for c in nx.connected_components(HA)), key=len)
print(len(Gc),len(Gc.edges()))
22 23
the problem with the original version of the above cell was that the variable b was set in the first cell of question 2:
for b in set(list(G.predecessors(a)) + list(G.successors(a))+[a]):
which only retained the final value of iterating through. (for me it was Kahului airport)
Gc reduces to only the most connected subgraph
ctype=0
node_color='Girvan-Newman_community'
bundled=0
nodelabels=1
width=700
height=700
pos=graphviz_layout(HA) #posBipartite
node_size=5*np.log(5+hv.dim('degree')) #4*np.log(6+hv.dim('in-degree'))
node_cmap="tab10"
edge_color='olive'
edge_line_width=1
title="Connecting flights between a random set of 10 airports"
arrowhead_length=0.04
selection_mode='nodes'
selection_policy="nodes"
edge_hover_line_color='green'
node_hover_fill_color='red'
fontsize={'title': '9pt'}
text_font_size='10pt'
text_color='black'
bgcolor='white'
xoffset=0
yoffset=-10 #-15
hvnx_plot(Gc,ctype,pos,width,height,node_size,node_cmap,edge_color,edge_line_width,
title,bundled,nodelabels,xoffset,yoffset,
arrowhead_length,selection_mode,selection_policy,
edge_hover_line_color,node_hover_fill_color,
fontsize,text_font_size, text_color,bgcolor)
No. of Louvain communities 4
ctype=0
node_color='Girvan-Newman_community'
bundled=0
nodelabels=1
width=700
height=700
pos=graphviz_layout(HA) #posBipartite
node_size=5*np.log(5+hv.dim('degree')) #4*np.log(6+hv.dim('in-degree'))
node_cmap="tab10"
edge_color='olive'
edge_line_width=1
title="Connecting flights between a random set of 10 airports"
arrowhead_length=0.04
selection_mode='nodes'
selection_policy="nodes"
edge_hover_line_color='green'
node_hover_fill_color='red'
fontsize={'title': '9pt'}
text_font_size='10pt'
text_color='black'
bgcolor='white'
xoffset=0
yoffset=-10 #-15
hvnx_plot(HA,ctype,pos,width,height,node_size,node_cmap,edge_color,edge_line_width,
title,bundled,nodelabels,xoffset,yoffset,
arrowhead_length,selection_mode,selection_policy,
edge_hover_line_color,node_hover_fill_color,
fontsize,text_font_size, text_color,bgcolor)
No. of Louvain communities 7